yum update で PHP のアップデートが失敗します

TOP Forums インストール(Installing KUSANAGI) yum update で PHP のアップデートが失敗します

yum update で PHP のアップデートが失敗します

Viewing 4 reply threads
  • Author
    Posts
    • #209
      shimizu
      Participant

        お世話になります。
        KUSANAGI for さくらのVPS で KUSANAGIを利用させていただいております。

        PHPのアップデートを実行しようとしたところ、アップデートに失敗いたしました。
        FQAの回答を確認し、当該手順を実施いたしましたが、結果は変わりませんでした。

        # cat /etc/redhat-release
        CentOS Linux release 7.3.1611 (Core)
        # rpm -qa | grep kusanagi
        kusanagi-nginx-1.13.0-1.noarch
        kusanagi-php7-7.0.19-1.noarch
        kusanagi-8.0.7-2.noarch
        kusanagi-hhvm-3.19.1-1.noarch
        kusanagi-libbrotli-1.0pre1-3.noarch
        kusanagi-openssl-1.0.2k-1.noarch
        kusanagi-httpd-2.4.25-1.noarch
        kusanagi-mozjpeg-3.2-1.el7.centos.x86_64
        kusanagi-wp-cli-1.1.0-1.noarch
        kusanagi-nghttp2-1.6.0-2.noarch
        kusanagi-wp-4.7.5-1.noarch

        実施内容は次の通りです。

        # yum clean all
        読み込んだプラグイン:fastestmirror, langpacks, priorities
        Repository remi-safe is listed more than once in the configuration
        Repository remi-php71 is listed more than once in the configuration
        リポジトリーを清掃しています: base epel extras kusanagi mariadb remi remi-php71 remi-safe updates zabbix zabbix-non-supported
        Cleaning up everything
        Cleaning up list of fastest mirrors
        # yum --enablerepo=remi,remi-php71 update -y
        読み込んだプラグイン:fastestmirror, langpacks, priorities
        Repository remi-safe is listed more than once in the configuration
        Repository remi-php71 is listed more than once in the configuration

        結果は下記のものが出力されます。

        Determining fastest mirrors
         * base: ftp.iij.ad.jp
         * epel: ftp.riken.jp
         * extras: ftp.iij.ad.jp
         * remi: mirror.bebout.net
         * remi-php71: mirror.bebout.net
         * remi-safe: mirror.bebout.net
         * updates: ftp.iij.ad.jp
        zabbix                                                                                                                                               144/144
        zabbix-non-supported                                                                                                                                     4/4
        408 packages excluded due to repository priority protections
        依存性の解決をしています
        --> トランザクションの確認を実行しています。
        ---> パッケージ php.x86_64 0:5.6.30-1.el7.remi を 更新
        ---> パッケージ php.x86_64 0:7.1.5-1.el7.remi を アップデート
        ---> パッケージ php-cli.x86_64 0:5.6.30-1.el7.remi を 更新
        ---> パッケージ php-cli.x86_64 0:7.1.5-1.el7.remi を アップデート
        ---> パッケージ php-common.x86_64 0:5.6.30-1.el7.remi を 更新
        --> 依存性の処理をしています: php(api) = 20131106-64 のパッケージ: php-pecl-apcu-4.0.11-2.el7.remi.5.6.x86_64
        --> 依存性の処理をしています: php(zend-abi) = 20131226-64 のパッケージ: php-pecl-apcu-4.0.11-2.el7.remi.5.6.x86_64
        ---> パッケージ php-common.x86_64 0:7.1.5-1.el7.remi を アップデート
        ---> パッケージ php-devel.x86_64 0:5.6.30-1.el7.remi を 更新
        ---> パッケージ php-devel.x86_64 0:7.1.5-1.el7.remi を 非推奨
        ---> パッケージ php-fpm.x86_64 0:5.6.30-1.el7.remi を 更新
        ---> パッケージ php-fpm.x86_64 0:7.1.5-1.el7.remi を アップデート
        ---> パッケージ php-gd.x86_64 0:5.6.30-1.el7.remi を 更新
        ---> パッケージ php-gd.x86_64 0:7.1.5-1.el7.remi を アップデート
        ---> パッケージ php-json.x86_64 0:7.1.5-1.el7.remi を 非推奨
        ---> パッケージ php-mbstring.x86_64 0:5.6.30-1.el7.remi を 更新
        ---> パッケージ php-mbstring.x86_64 0:7.1.5-1.el7.remi を アップデート
        ---> パッケージ php-mcrypt.x86_64 0:5.6.30-1.el7.remi を 更新
        ---> パッケージ php-mcrypt.x86_64 0:7.1.5-1.el7.remi を アップデート
        ---> パッケージ php-mysqlnd.x86_64 0:5.6.30-1.el7.remi を 更新
        ---> パッケージ php-mysqlnd.x86_64 0:7.1.5-1.el7.remi を アップデート
        ---> パッケージ php-pdo.x86_64 0:5.6.30-1.el7.remi を 更新
        ---> パッケージ php-pdo.x86_64 0:7.1.5-1.el7.remi を アップデート
        ---> パッケージ php-pecl-jsonc.x86_64 0:1.3.10-2.el7.remi.5.6 を 不要
        ---> パッケージ php-pecl-jsonc-devel.x86_64 0:1.3.10-2.el7.remi.5.6 を 不要
        ---> パッケージ php-pecl-zip.x86_64 0:1.14.0-1.el7.remi.5.6 を 更新
        ---> パッケージ php-pecl-zip.x86_64 0:1.14.0-1.el7.remi.7.1 を アップデート
        ---> パッケージ php-process.x86_64 0:5.6.30-1.el7.remi を 更新
        ---> パッケージ php-process.x86_64 0:7.1.5-1.el7.remi を アップデート
        ---> パッケージ php-xml.x86_64 0:5.6.30-1.el7.remi を 更新
        ---> パッケージ php-xml.x86_64 0:7.1.5-1.el7.remi を アップデート
        ---> パッケージ php-xmlrpc.x86_64 0:5.6.30-1.el7.remi を 更新
        ---> パッケージ php-xmlrpc.x86_64 0:7.1.5-1.el7.remi を アップデート
        --> 依存性解決を終了しました。
        エラー: パッケージ: php-pecl-apcu-4.0.11-2.el7.remi.5.6.x86_64 (@remi-php56)
                     要求: php(zend-abi) = 20131226-64
                    削除中: php-common-5.6.30-1.el7.remi.x86_64 (@remi-php56)
                        php(zend-abi) = 20131226-64
                    次のものにより更新された: : php-common-7.1.5-1.el7.remi.x86_64 (remi-php71)
                        php(zend-abi) = 20160303-64
                    利用可能: php-common-7.1.4-1.el7.remi.x86_64 (remi-php71)
                        php(zend-abi) = 20160303-64
        エラー: パッケージ: php-pecl-apcu-4.0.11-2.el7.remi.5.6.x86_64 (@remi-php56)
                     要求: php(api) = 20131106-64
                    削除中: php-common-5.6.30-1.el7.remi.x86_64 (@remi-php56)
                        php(api) = 20131106-64
                    次のものにより更新された: : php-common-7.1.5-1.el7.remi.x86_64 (remi-php71)
                        php(api) = 20160303-64
                    利用可能: php-common-7.1.4-1.el7.remi.x86_64 (remi-php71)
                        php(api) = 20160303-64
         問題を回避するために --skip-broken を用いることができます。
         これらを試行できます: rpm -Va --nofiles --nodigest

        私なりの調査では以下内容まで把握できております。

        1. 「/etc/yum.conf」に設定している除外対象の内、”exclude=php-pecl-apcu*”を除外対象から外すとアップデートが可能になる。(コマンドに対するエラー出力がなくなる)
        2. エラー出力内容の「問題を回避するために –skip-broken を用いる」を実施しても、解決しない。(エラー出力となります。)

        除外しているパッケージを勝手にアップデートしてはよろしくないと思い、質問しました。

        上記問題について、原因及び、解決方法をご教授願います。
        よろしくお願いいたします。

      • #210
        しょうくん
        Moderator

          shimizuさん、こんにちは。

          # yum –enablerepo=remi,remi-php71 update -y

          上記アップデートを行っているとするとちょっとFAQの情報とは違いますね。

          FAQ

          # yum –enablerepo=remi,remi-php56 update -y

          KUSANAGIが標準で持っているPHPはPHP 5.6、PHP 7、HHVMです。
          このうちremiでアップデートを行っているのはPHP 5.6であり、これは後方互換性のために導入されています。
          ですので、remi-php71を実行しているとすればバージョンがKUSANAGIのもつPHPと競合している可能性があります。

          一度FAQ通りのコマンドで実行してみて頂けますか。
          よろしくお願いします。

        • #211
          shimizu
          Participant

            お世話になっております。
            早速の回答ありがとうございます。

            PHP 5.6 実施した場合でも、同じ結果となります。

            # yum --enablerepo=remi,remi-php56 update -y
            読み込んだプラグイン:fastestmirror, langpacks, priorities
            Repository remi-safe is listed more than once in the configuration
            Repository remi-php71 is listed more than once in the configuration
            Loading mirror speeds from cached hostfile
             * base: ftp.iij.ad.jp
             * epel: ftp.riken.jp
             * extras: ftp.iij.ad.jp
             * remi: mirror.bebout.net
             * remi-php56: mirror.bebout.net
             * remi-php71: mirror.bebout.net
             * remi-safe: mirror.bebout.net
             * updates: ftp.iij.ad.jp
            681 packages excluded due to repository priority protections
            依存性の解決をしています
            --> トランザクションの確認を実行しています。
            ---> パッケージ php.x86_64 0:5.6.30-1.el7.remi を 更新
            ---> パッケージ php.x86_64 0:7.1.5-1.el7.remi を アップデート
            ---> パッケージ php-cli.x86_64 0:5.6.30-1.el7.remi を 更新
            ---> パッケージ php-cli.x86_64 0:7.1.5-1.el7.remi を アップデート
            ---> パッケージ php-common.x86_64 0:5.6.30-1.el7.remi を 更新
            --> 依存性の処理をしています: php(api) = 20131106-64 のパッケージ: php-pecl-apcu-4.0.11-2.el7.remi.5.6.x86_64
            --> 依存性の処理をしています: php(zend-abi) = 20131226-64 のパッケージ: php-pecl-apcu-4.0.11-2.el7.remi.5.6.x86_64
            ---> パッケージ php-common.x86_64 0:7.1.5-1.el7.remi を アップデート
            ---> パッケージ php-devel.x86_64 0:5.6.30-1.el7.remi を 更新
            ---> パッケージ php-devel.x86_64 0:7.1.5-1.el7.remi を 非推奨
            ---> パッケージ php-fpm.x86_64 0:5.6.30-1.el7.remi を 更新
            ---> パッケージ php-fpm.x86_64 0:7.1.5-1.el7.remi を アップデート
            ---> パッケージ php-gd.x86_64 0:5.6.30-1.el7.remi を 更新
            ---> パッケージ php-gd.x86_64 0:7.1.5-1.el7.remi を アップデート
            ---> パッケージ php-json.x86_64 0:7.1.5-1.el7.remi を 非推奨
            ---> パッケージ php-mbstring.x86_64 0:5.6.30-1.el7.remi を 更新
            ---> パッケージ php-mbstring.x86_64 0:7.1.5-1.el7.remi を アップデート
            ---> パッケージ php-mcrypt.x86_64 0:5.6.30-1.el7.remi を 更新
            ---> パッケージ php-mcrypt.x86_64 0:7.1.5-1.el7.remi を アップデート
            ---> パッケージ php-mysqlnd.x86_64 0:5.6.30-1.el7.remi を 更新
            ---> パッケージ php-mysqlnd.x86_64 0:7.1.5-1.el7.remi を アップデート
            ---> パッケージ php-pdo.x86_64 0:5.6.30-1.el7.remi を 更新
            ---> パッケージ php-pdo.x86_64 0:7.1.5-1.el7.remi を アップデート
            ---> パッケージ php-pecl-jsonc.x86_64 0:1.3.10-2.el7.remi.5.6 を 不要
            ---> パッケージ php-pecl-jsonc-devel.x86_64 0:1.3.10-2.el7.remi.5.6 を 不要
            ---> パッケージ php-pecl-zip.x86_64 0:1.14.0-1.el7.remi.5.6 を 更新
            ---> パッケージ php-pecl-zip.x86_64 0:1.14.0-1.el7.remi.7.1 を アップデート
            ---> パッケージ php-process.x86_64 0:5.6.30-1.el7.remi を 更新
            ---> パッケージ php-process.x86_64 0:7.1.5-1.el7.remi を アップデート
            ---> パッケージ php-xml.x86_64 0:5.6.30-1.el7.remi を 更新
            ---> パッケージ php-xml.x86_64 0:7.1.5-1.el7.remi を アップデート
            ---> パッケージ php-xmlrpc.x86_64 0:5.6.30-1.el7.remi を 更新
            ---> パッケージ php-xmlrpc.x86_64 0:7.1.5-1.el7.remi を アップデート
            --> 依存性解決を終了しました。
            エラー: パッケージ: php-pecl-apcu-4.0.11-2.el7.remi.5.6.x86_64 (@remi-php56)
                         要求: php(zend-abi) = 20131226-64
                        削除中: php-common-5.6.30-1.el7.remi.x86_64 (@remi-php56)
                            php(zend-abi) = 20131226-64
                        次のものにより更新された: : php-common-7.1.5-1.el7.remi.x86_64 (remi-php71)
                            php(zend-abi) = 20160303-64
                        利用可能: php-common-7.1.4-1.el7.remi.x86_64 (remi-php71)
                            php(zend-abi) = 20160303-64
            エラー: パッケージ: php-pecl-apcu-4.0.11-2.el7.remi.5.6.x86_64 (@remi-php56)
                         要求: php(api) = 20131106-64
                        削除中: php-common-5.6.30-1.el7.remi.x86_64 (@remi-php56)
                            php(api) = 20131106-64
                        次のものにより更新された: : php-common-7.1.5-1.el7.remi.x86_64 (remi-php71)
                            php(api) = 20160303-64
                        利用可能: php-common-7.1.4-1.el7.remi.x86_64 (remi-php71)
                            php(api) = 20160303-64
             問題を回避するために --skip-broken を用いることができます。
             これらを試行できます: rpm -Va --nofiles --nodigest

            リポジトリの呼出しの部分で、”remi-php71”が含まれていたため、PHP 7系もremiを利用してアップデートするものだと先走っておりました。申し訳ございません。

            運営ではPHP 7系を利用していく予定であります。
            よろしければ、PHP 7系のアップデート方法が別にありましたらご教授願います。

          • #212
            Tanuki
            Moderator

              PHP7系はKUSANAGI独自でビルドされたものがKUSANAGIのリポジトリから提供されています。
              PHP7系を利用したい場合でも、remiリポジトリからPHP7系を入れる必要はありません。

              おそらくyum.repo.d の remi-php71 をenableにしているかと思いますので、それをdisableに変更するか下記のようなコマンドならアップデート行えるかと思います。

              
              yum --disablerepo=remi-php71 -–enablerepo=remi,remi-php56 update -y
              

              また、PHP7系への切り替えはドキュメントにもある通り下記コマンドで切りかえることができます。

              
              kusanagi php7 
              

              詳しくはドキュメントを参照してください。
              https://kusanagi.tokyo/document/command/#php7

              • #219
                shimizu
                Participant

                  Tanuki様

                  お世話になります。

                  返事が遅くなり申し訳ありません。
                  本件問題、解決することが出来ました。

                  今回の問題はご指摘をいただきましたとおり、remi-php71 が有効になっていたため、互換性の問題があり、アップデートに失敗しておりました。

                  ご提供いただきましたコマンドを実施いたしましたところ、問題なくアップデートが完了いたしました。
                  yum --disablerepo=remi-php71 --enablerepo=remi,remi-php56 update -y

                  今後のための対応としては、リポジトリ”remi-php71”をdisableにし運用しようと思います。

                  ご協力頂きありがとうございました。

                  • This reply was modified 7 years, 5 months ago by shimizu.
                  • This reply was modified 7 years, 5 months ago by shimizu.
              • #222
                shimizu
                Participant

                  しょうくん様

                  お世話になります。

                  先日はご回答頂きありがとうございます。
                  当フォーラムの仕様を理解しておらず、回答いただきました物に対し、返事をしていない事になっておりました。申し訳ありません。

                  本件につきましては、Tanuki様の回答をもって、解決することが出来ました。

                  しょうくん様におかれましても、
                  ご協力頂きありがとうございました。

              Viewing 4 reply threads
              • You must be logged in to reply to this topic.

              Next article

              フォーラムについて