質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

yum

yumコマンドは、UNIX系OSのRPMパッケージのインストールなどを行うためのプログラムのことです。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

Q&A

解決済

1回答

1031閲覧

remiでPHP7.1.30へUpdateができない

tail12

総合スコア607

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

yum

yumコマンドは、UNIX系OSのRPMパッケージのインストールなどを行うためのプログラムのことです。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

0グッド

2クリップ

投稿2019/06/14 07:05

編集2019/06/14 07:07

環境

  • Amazon Linux:1
  • PHP: version - 7.1.29

remiリポジトリを利用しています。
Amazon Linux1なので、
リポジトリは、http://rpms.famillecollet.com/enterprise/remi-release-6.rpmから取得しています

発生しているエラー

$ yum check-update --enablerepo=remi-php71 php 読み込んだプラグイン:priorities, update-motd, upgrade-helper エラー: requested datatype primary not available

インターネットをあさっていると、[1]にて、次のようなコマンドを利用することで、解決できるとありました。

# cache削除 $ yum --enablerepo=remi-php71 clean all (enable無しもやった) $ sudo rpm --rebuilddb

しかし、上記コマンドを実行しても変わらずでした。

そこで [2]のやり方を試してみました。

$ rm -rf /var/cache/yum/x86_64/latest/extras/mirrorlist.txt $ sudo yum makecache $ sudo yum --enablerepo=remi-php71 update php エラー: requested datatype primary not available

構成自体はAnsibleで管理しており、あとから追加したインスタンスのみこのような状態になりました。
差異があるとしたら、Amazon LInuxのバージョンくらいです。

よろしくお願いいたします。

参考にしたサイト

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TaichiYanagiya

2019/06/14 09:36

あるリポジトリにアクセスできていないのでは? "yum makecache" でエラーが出ていないでしょうか?
tail12

2019/06/14 09:42

> あるリポジトリにアクセスできていないのでは? > "yum makecache" でエラーが出ていないでしょうか? 出ていないですね。。。 repositoryの取得先のmirrorをbaseに変えたりしてみたものの。。。という感じでした。
TaichiYanagiya

2019/06/14 16:05

プラグインを無効にして、リポジトリも必要なもののみ指定するとどうでしょうか。 「sudo yum --disableplugin='*' --disablerepo='*' --enablerepo=amzn-main,amzn-updates,remi-safe,remi-php71 check-update php」
guest

回答1

0

ベストアンサー

下記はレポジトリがない時や、レポジトリ設定が壊れている場合に表示されます。うまくいかない場合は知らない間にレポジトリパッケージ自体が更新された可能性もあります。

エラー: requested datatype primary not available

念のため最初にインストール済みremiphpパッケージを確認してください。本当にきちんとremiのphpがインストールされているかやx64など。

sh

1# インストール済みphp関連パッケージ一覧 2yum list installed "php*" 3 4# インストール済みphp71の情報 5yum info php

たぶん、php7.1の依存関係にあるパッケージがamazon-mainremiで、パッケージが混じっているのだと思います。
ですので、先にamazon-mainをアップデートしてからphp71をアップデートしてみてはいかがでしょうか。
また、質問に参考にあった「2」は、YUMのキャッシュを削除する方法でして、これだけだと不十分です。

sh

1# キャッシュ削除 2sudo yum clean all 3 4# amazon-main アップデート 5sudo yum update 6 7# remi-php71 アップデート 8sudo yum update --enablerepo=remi-php71 php

無難な方法としては、PHP関連の設定をバックアップしてから、パッケージを入れなおすと良いです。

sh

1# php.ini バックアップ 2cp -f /etc/php.ini ~/ 3 4# php71 削除 5sudo yum remove php71 6 7# php71 再インストール 8sudo yum install --enablerepo=remi-php71 php

php71をインストールする時に依存関係を無視してインストールした場合は、アップデートも強制的に行う必要があります。ただし、他の依存関係が壊れてしまうはずなのでお勧めはしません。最後の手段だと思ってください。

sh

1# 強制アップデート 2sudo yum update --enablerepo=remi-php71 --force php

投稿2019/06/14 21:27

編集2019/06/14 21:30
Tomak

総合スコア1652

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tail12

2019/06/16 08:45

ご丁寧にありがとうございます! > レポジトリ設定が壊れている場合に表示されます。うまくいかない場合は知らない間にレポジトリパッケージ自体が更新された可能性もあります。 構成自体はAnsibleで管理しており、他のインスタンスは問題なく動いているのですが、このインスタンスが参照しているリポジトリのみ変更される、ということがあるんでしょうか…? > 先にamazon-mainをアップデートしてからphp71をアップデートしてみてはいかがでしょうか。 なるほど! 明日、再度amzn-mainのアップデートしてみてから、remiのPHPをアップデートしてみます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問