web-dev-qa-db-ja.com

PHPアップグレードエラー(PHP5.3.3からPHP 5.4.19)

私はCentOS6.4を使用しており、PHPをv5.3.3からv5.4.19にアップグレードするために このチュートリアル をフォローしていましたが、次のエラーが発生しました:

エラー:php54w-commonがphp-common-5.3.3-23.el6_4.i686と競合します

。この問題を解決するにはどうすればよいですか?

[my_profile@localhost gplus-quickstart-php]$ Sudo rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm                                                           
[Sudo] password for my_profile:                                                    
Retrieving http://mirror.webtatic.com/yum/el6/latest.rpm                        
warning: /var/tmp/rpm-tmp.S0yqSL: Header V4 DSA/SHA1 Signature, key ID cf4c4ff9: NOKEY                                                                          
Preparing...                ########################################### [100%]  
   1:webtatic-release       ########################################### [100%]  
[my_profile@localhost gplus-quickstart-php]$ Sudo yum install php54w
Loaded plugins: fastestmirror, refresh-packagekit, security      
Loading mirror speeds from cached hostfile                       
 * base: mirror.netglobalis.net                                  
 * extras: mirror.netglobalis.net                                
 * rpmforge: mirror.nexcess.net                                  
 * updates: mirror.netglobalis.net                               
 * webtatic: us-east.repo.webtatic.com                           
webtatic                                                 | 2.9 kB     00:00     
webtatic/primary_db                                      |  98 kB     00:00
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php54w.i386 0:5.4.19-1.w6 will be installed
--> Processing Dependency: php54w-common = 5.4.19-1.w6 for package: php54w-5.4.19-1.w6.i386
--> Processing Dependency: php54w-cli = 5.4.19-1.w6 for package: php54w-5.4.19-1.w6.i386
--> Running transaction check
---> Package php54w-cli.i386 0:5.4.19-1.w6 will be installed
---> Package php54w-common.i386 0:5.4.19-1.w6 will be installed
--> Processing Conflict: php54w-common-5.4.19-1.w6.i386 conflicts php-common < 5.4.0
--> Finished Dependency Resolution
Error: php54w-common conflicts with php-common-5.3.3-23.el6_4.i686
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
[my_profile@localhost gplus-quickstart-php]$ ^C
[my_profile@localhost gplus-quickstart-php]$ ^C
[my_profile@localhost gplus-quickstart-php]$ Error: php54w-common conflicts with php-common-5.3.3-23.el6_4.i686
bash: Error:: command not found
[my_profile@localhost gplus-quickstart-php]$
4
Anthony

引用したチュートリアルでは、インストールされているパッケージとの競合を回避できる新しいシステムでこのWebtaticリポジトリを使用することを推奨していますが、(rootとしてまたはSudoを使用して)現在インストールされているphpをアップグレードできることを示しています。

yum install yum-plugin-replace
yum replace php-common --replace-with=php54w-common

次に、Sudo yum install php54w再び。

3
Lars Rohrbach

余談ですが、おそらく、アウトオブバンドパッケージへの更新を要求しているベンダーに確認して、PHPのこのディストリビューションの変更が絶対に必要な機能を確認する必要があります。

通常、修正と(いくつかの)機能は、確立された認定リリースバージョンにバックポートされます。一部のベンダーは、「5.4は5.3よりも大きいので、より良く、より輝いている必要がある」と誤って信じており、多くの場合、それは本当に危険なことです。丁寧に管理されたバージョンを、ダース以上の専門家のチームによってOSに対してテストされた自動のささいな更新と入れ替えると、「誰か」によって1回ロールされ、ファイルサーバーにドロップされます。彼のためにテストする世界では、今週のリリースで得られるよりも、ダウンタイム、エラー、そのリリースでは修正されないセキュリティバグ、および不整合にもう少しお金を払っています。

注意してください。最近ベンダーに尋ねたところ、このレポとEPELの違いすら知らないと判断されました。これは2つのまったく異なることです。

0
user2066657