web-dev-qa-db-ja.com

CentOSにPHPパッケージをインストールできません

DigitalOceanがホストするサーバーにyum経由でPHPを再インストールするのに問題があります。

PHP 5.4をインストールしましたが、5.6が必要でした。レミリポジトリを追加/有効化し、yum -y remove php*を実行してから、phpを再インストールしようとしました。

yum -y install phpを実行すると、次のようになります。

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.centos.webair.com
 * epel: mirrors.coreix.net
 * extras: mirrors.centos.webair.com
 * remi: remi.check-update.co.uk
 * remi-php56: remi.check-update.co.uk
 * updates: mirrors.centos.webair.com
 * webtatic: uk.repo.webtatic.com
Resolving Dependencies
--> Running transaction check
---> Package php.x86_64 0:5.6.8-1.el6.remi will be installed
--> Processing Dependency: php-common(x86-64) = 5.6.8-1.el6.remi for package: php-5.6.8-1.el6.remi.x86_64
--> Processing Dependency: php-cli(x86-64) = 5.6.8-1.el6.remi for package: php-5.6.8-1.el6.remi.x86_64
--> Processing Dependency: httpd-mmn = 20051115 for package: php-5.6.8-1.el6.remi.x86_64
--> Running transaction check
---> Package php.x86_64 0:5.6.8-1.el6.remi will be installed
--> Processing Dependency: httpd-mmn = 20051115 for package: php-5.6.8-1.el6.remi.x86_64
---> Package php-cli.x86_64 0:5.6.8-1.el6.remi will be installed
---> Package php-common.x86_64 0:5.6.8-1.el6.remi will be installed
--> Processing Dependency: php-pecl-Zip(x86-64) for package: php-common-5.6.8-1.el6.remi.x86_64
--> Processing Dependency: php-pecl-jsonc(x86-64) for package: php-common-5.6.8-1.el6.remi.x86_64
--> Running transaction check
---> Package php.x86_64 0:5.6.8-1.el6.remi will be installed
--> Processing Dependency: httpd-mmn = 20051115 for package: php-5.6.8-1.el6.remi.x86_64
---> Package php-pecl-jsonc.x86_64 0:1.3.7-1.el6.remi.5.6 will be installed
---> Package php-pecl-Zip.x86_64 0:1.12.5-1.el6.remi.5.6 will be installed
--> Finished Dependency Resolution
Error: Package: php-5.6.8-1.el6.remi.x86_64 (remi-php56)
           Requires: httpd-mmn = 20051115
           Installed: httpd-2.4.6-31.el7.centos.x86_64 (@base)
               httpd-mmn = 20120211
               httpd-mmn = 20120211x8664
               httpd-mmn = 20120211-x86-64
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

私はフォローしています このチュートリアル

私は少し立ち往生しています。 httpdを削除し、httpdを再インストールしようとしましたが、これを修正するものは何もないようです。 remiを無効にしてインストールしようとすると、エラーが発生することもありますPHP 5.4。

ここからどこへ行くべきかについてのアイデアはありますか?

CentOS Linuxリリース7.1.1503(コア)を実行しています

8
Tom Wright

それを私が直した!問題は、間違ったバージョンのELがインストールされていることでした。余分なリポジトリをすべて削除し、すべてのphpパッケージを削除し、httpdを削除しました。以下を実行しました:

yum install epel-release
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum clean
yum update

その後、以下を使用してPHP

yum install php56w php56w-opcache php56w-mcrypt php56w-pdo php56w-mysql
20
Tom Wright

Linuxマシンにphp70w(webstatic)をインストールしているときにも同じ問題が発生しました。次のコマンドは、php70をインストールするのに役立ちました

Sudo yum clean all   // to clear all caches

キャッシュをクリアした後、以下を使用してphp70を再度インストールします。

Sudo yum install php70
5
Ashutosh Gupta

これはおそらくserverfaultまたはpoweruserに適していますが、それでも答えます。

これは経験に基づいており、指示どおりに実行すれば毎回機能します。

インストールするには、最初に、CentOS/RHELバージョンに対応するWebtaticELyumリポジトリ情報をyumに追加する必要があります。

CentOS/RHEL 7.x:

rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

次に、次のように個々のパッケージをそれぞれインストールできます。

yum install php56w-<package name>

ただし、php56wプレフィックスを忘れないでください。

ソース: https://webtatic.com/packages/php56/


これを試してください(コメントに関して):

yum update -y; yum remove httpd && yum install httpd; yum install php56w-common php56w-opcache php56w-mysql
0
SysVoid