在 RHEL 上安装 PHP5.6

Installing PHP5.6 on RHEL

我正在尝试使用 yum 在 RHEL 7(物理机)上安装 PHP 5.6。我安装了 REMI 存储库。

[root@localhost Sridhar_P]# yum repolist all
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
This system is registered to Red Hat Subscription Management, but is not receiving updates. You can use subscription-manager to assign subscriptions.
repo id                                        repo name                                                                               status
*epel/x86_64                                   Extra Packages for Enterprise Linux 7 - x86_64                                          enabled: 10,416
epel-debuginfo/x86_64                          Extra Packages for Enterprise Linux 7 - x86_64 - Debug                                  disabled
epel-source/x86_64                             Extra Packages for Enterprise Linux 7 - x86_64 - Source                                 disabled
epel-testing/x86_64                            Extra Packages for Enterprise Linux 7 - Testing - x86_64                                disabled
epel-testing-debuginfo/x86_64                  Extra Packages for Enterprise Linux 7 - Testing - x86_64 - Debug                        disabled
epel-testing-source/x86_64                     Extra Packages for Enterprise Linux 7 - Testing - x86_64 - Source                       disabled
mysql-connectors-community/x86_64              MySQL Connectors Community                                                              enabled:     21
mysql-connectors-community-source              MySQL Connectors Community - Source                                                     disabled
mysql-tools-community/x86_64                   MySQL Tools Community                                                                   enabled:     36
mysql-tools-community-source                   MySQL Tools Community - Source                                                          disabled
mysql55-community/x86_64                       MySQL 5.5 Community Server                                                              disabled
mysql55-community-source                       MySQL 5.5 Community Server - Source                                                     disabled
mysql56-community/x86_64                       MySQL 5.6 Community Server                                                              enabled:    259
mysql56-community-source                       MySQL 5.6 Community Server - Source                                                     disabled
mysql57-community-dmr/x86_64                   MySQL 5.7 Community Server Development Milestone Release                                disabled
mysql57-community-dmr-source                   MySQL 5.7 Community Server Development Milestone Release - Source                       disabled
nginx/x86_64                                   nginx repo                                                                              enabled:     28
remi                                           Remi's RPM repository for Enterprise Linux 7 - x86_64                                   enabled:  3,287
remi-debuginfo/x86_64                          Remi's RPM repository for Enterprise Linux 7 - x86_64 - debuginfo                       enabled:  1,244
remi-php55                                     Remi's PHP 5.5 RPM repository for Enterprise Linux 7 - x86_64                           disabled
remi-php55-debuginfo/x86_64                    Remi's PHP 5.5 RPM repository for Enterprise Linux 7 - x86_64 - debuginfo               disabled
remi-php56                                     Remi's PHP 5.6 RPM repository for Enterprise Linux 7 - x86_64                           enabled:    361
remi-php56-debuginfo/x86_64                    Remi's PHP 5.6 RPM repository for Enterprise Linux 7 - x86_64 - debuginfo               enabled:    246
remi-safe                                      Safe Remi's RPM repository for Enterprise Linux 7 - x86_64                              disabled
remi-test                                      Remi's test RPM repository for Enterprise Linux 7 - x86_64                              enabled:    636
remi-test-debuginfo/x86_64                     Remi's test RPM repository for Enterprise Linux 7 - x86_64 - debuginfo                  enabled:    198
webtatic/x86_64                                Webtatic Repository EL7 - x86_64                                                        disabled
webtatic-archive/x86_64                        Webtatic Repository EL7 - x86_64 - Archive                                              disabled
webtatic-archive-debuginfo/x86_64              Webtatic Repository EL7 - x86_64 - Archive Debug                                        disabled
webtatic-archive-source                        Webtatic Repository EL7 - x86_64 - Archive Source                                       disabled
webtatic-debuginfo/x86_64                      Webtatic Repository EL7 - x86_64 - Debug                                                disabled
webtatic-source                                Webtatic Repository EL7 - x86_64 - Source                                               disabled
webtatic-testing/x86_64                        Webtatic Repository EL7 - x86_64 - Testing                                              disabled
webtatic-testing-debuginfo/x86_64              Webtatic Repository EL7 - x86_64 - Testing Debug                                        disabled
webtatic-testing-source                        Webtatic Repository EL7 - x86_64 - Testing Source                                       disabled

然后我运行

yum clean all
yum update

然后尝试通过 运行

安装 php
yum install php php-fpm php-mcrypt php-imap php-gd php-mbstring php-mysql php-dom

我收到以下错误

[root@localhost Sridhar_P]# yum install php php-fpm php-mcrypt php-imap php-gd php-mbstring php-mysql php-dom
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
This system is registered to Red Hat Subscription Management, but is not receiving updates. You can use subscription-manager to assign subscriptions.
Package php-mysql is obsoleted by php-mysqlnd, trying to install php-mysqlnd-5.6.25-0.1.RC1.el7.remi.x86_64 instead
Resolving Dependencies
--> Running transaction check
---> Package php.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
--> Processing Dependency: php-common(x86-64) = 5.6.25-0.1.RC1.el7.remi for package: php-5.6.25-0.1.RC1.el7.remi.x86_64
--> Processing Dependency: php-cli(x86-64) = 5.6.25-0.1.RC1.el7.remi for package: php-5.6.25-0.1.RC1.el7.remi.x86_64
--> Processing Dependency: httpd-mmn = 20120211x8664 for package: php-5.6.25-0.1.RC1.el7.remi.x86_64
--> Processing Dependency: httpd for package: php-5.6.25-0.1.RC1.el7.remi.x86_64
---> Package php-fpm.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
---> Package php-gd.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
--> Processing Dependency: gd-last(x86-64) >= 2.1.1 for package: php-gd-5.6.25-0.1.RC1.el7.remi.x86_64
--> Processing Dependency: libt1.so.5()(64bit) for package: php-gd-5.6.25-0.1.RC1.el7.remi.x86_64
--> Processing Dependency: libgd.so.3()(64bit) for package: php-gd-5.6.25-0.1.RC1.el7.remi.x86_64
---> Package php-imap.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
--> Processing Dependency: libc-client.so.2007()(64bit) for package: php-imap-5.6.25-0.1.RC1.el7.remi.x86_64
---> Package php-mbstring.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
---> Package php-mcrypt.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
--> Processing Dependency: libmcrypt.so.4()(64bit) for package: php-mcrypt-5.6.25-0.1.RC1.el7.remi.x86_64
---> Package php-mysqlnd.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
--> Processing Dependency: php-pdo(x86-64) = 5.6.25-0.1.RC1.el7.remi for package: php-mysqlnd-5.6.25-0.1.RC1.el7.remi.x86_64
---> Package php-xml.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
--> Running transaction check
---> Package gd-last.x86_64 0:2.2.3-1.el7.remi will be installed
---> Package libc-client.x86_64 0:2007f-4.el7.1 will be installed
---> Package libmcrypt.x86_64 0:2.5.8-13.el7 will be installed
---> Package php.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
--> Processing Dependency: httpd-mmn = 20120211x8664 for package: php-5.6.25-0.1.RC1.el7.remi.x86_64
--> Processing Dependency: httpd for package: php-5.6.25-0.1.RC1.el7.remi.x86_64
---> Package php-cli.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
---> Package php-common.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
--> Processing Dependency: php-pecl-zip(x86-64) for package: php-common-5.6.25-0.1.RC1.el7.remi.x86_64
--> Processing Dependency: php-pecl-jsonc(x86-64) for package: php-common-5.6.25-0.1.RC1.el7.remi.x86_64
---> Package php-gd.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
--> Processing Dependency: libt1.so.5()(64bit) for package: php-gd-5.6.25-0.1.RC1.el7.remi.x86_64
---> Package php-pdo.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
--> Running transaction check
---> Package php.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
--> Processing Dependency: httpd-mmn = 20120211x8664 for package: php-5.6.25-0.1.RC1.el7.remi.x86_64
--> Processing Dependency: httpd for package: php-5.6.25-0.1.RC1.el7.remi.x86_64
---> Package php-gd.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
--> Processing Dependency: libt1.so.5()(64bit) for package: php-gd-5.6.25-0.1.RC1.el7.remi.x86_64
---> Package php-pecl-jsonc.x86_64 0:1.3.10-1.el7.remi.5.6 will be installed
---> Package php-pecl-zip.x86_64 0:1.13.4-1.el7.remi.5.6 will be installed
--> Processing Dependency: libzip.so.4()(64bit) for package: php-pecl-zip-1.13.4-1.el7.remi.5.6.x86_64
--> Running transaction check
---> Package libzip-last.x86_64 0:1.1.3-1.el7.remi will be installed
---> Package php.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
--> Processing Dependency: httpd-mmn = 20120211x8664 for package: php-5.6.25-0.1.RC1.el7.remi.x86_64
--> Processing Dependency: httpd for package: php-5.6.25-0.1.RC1.el7.remi.x86_64
---> Package php-gd.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
--> Processing Dependency: libt1.so.5()(64bit) for package: php-gd-5.6.25-0.1.RC1.el7.remi.x86_64
--> Finished Dependency Resolution
Error: Package: php-5.6.25-0.1.RC1.el7.remi.x86_64 (remi-test)
       Requires: httpd
Error: Package: php-gd-5.6.25-0.1.RC1.el7.remi.x86_64 (remi-test)
       Requires: libt1.so.5()(64bit)
Error: Package: php-5.6.25-0.1.RC1.el7.remi.x86_64 (remi-test)
       Requires: httpd-mmn = 20120211x8664
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

找到解决方案,建议安装Webtatic EL。我安装了 webtatic 并进行了 yum 更新 运行

yum install php56w php56w-fpm php56w-mcrypt php56w-gd php56w-imap php56w-mbstring php56w-mysql php56w-dom

我收到依赖错误

[root@localhost Sridhar_P]# yum install php56w php56w-fpm php56w-mcrypt php56w-gd php56w-imap php56w-mbstring php56w-mysql php56w-dom
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
remi-safe                                                                                                                      | 2.9 kB      00:00:00     
Package php56w is obsoleted by php, trying to install php-5.6.25-0.1.RC1.el7.remi.x86_64 instead
Package php56w-fpm is obsoleted by php-fpm, trying to install php-fpm-5.6.25-0.1.RC1.el7.remi.x86_64 instead
Package php56w-mcrypt is obsoleted by php-mcrypt, trying to install php-mcrypt-5.6.25-0.1.RC1.el7.remi.x86_64 instead
Package php56w-gd is obsoleted by php-gd, trying to install php-gd-5.6.25-0.1.RC1.el7.remi.x86_64 instead
Package php56w-imap is obsoleted by php-imap, trying to install php-imap-5.6.25-0.1.RC1.el7.remi.x86_64 instead
Package php56w-mbstring is obsoleted by php-mbstring, trying to install php-mbstring-5.6.25-0.1.RC1.el7.remi.x86_64 instead
Package php56w-mysql is obsoleted by php-mysqlnd, trying to install php-mysqlnd-5.6.25-0.1.RC1.el7.remi.x86_64 instead
Package php56w-xml is obsoleted by php-xml, trying to install php-xml-5.6.25-0.1.RC1.el7.remi.x86_64 instead
Resolving Dependencies
--> Running transaction check
---> Package php.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
--> Processing Dependency: php-common(x86-64) = 5.6.25-0.1.RC1.el7.remi for package: php-5.6.25-0.1.RC1.el7.remi.x86_64
--> Processing Dependency: php-cli(x86-64) = 5.6.25-0.1.RC1.el7.remi for package: php-5.6.25-0.1.RC1.el7.remi.x86_64
--> Processing Dependency: httpd-mmn = 20120211x8664 for package: php-5.6.25-0.1.RC1.el7.remi.x86_64
--> Processing Dependency: httpd for package: php-5.6.25-0.1.RC1.el7.remi.x86_64
---> Package php-fpm.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
---> Package php-gd.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
--> Processing Dependency: gd-last(x86-64) >= 2.1.1 for package: php-gd-5.6.25-0.1.RC1.el7.remi.x86_64
--> Processing Dependency: libt1.so.5()(64bit) for package: php-gd-5.6.25-0.1.RC1.el7.remi.x86_64
--> Processing Dependency: libgd.so.3()(64bit) for package: php-gd-5.6.25-0.1.RC1.el7.remi.x86_64
---> Package php-imap.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
--> Processing Dependency: libc-client.so.2007()(64bit) for package: php-imap-5.6.25-0.1.RC1.el7.remi.x86_64
---> Package php-mbstring.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
---> Package php-mcrypt.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
--> Processing Dependency: libmcrypt.so.4()(64bit) for package: php-mcrypt-5.6.25-0.1.RC1.el7.remi.x86_64
---> Package php-mysqlnd.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
--> Processing Dependency: php-pdo(x86-64) = 5.6.25-0.1.RC1.el7.remi for package: php-mysqlnd-5.6.25-0.1.RC1.el7.remi.x86_64
---> Package php-xml.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
--> Running transaction check
---> Package gd-last.x86_64 0:2.2.3-1.el7.remi will be installed
---> Package libc-client.x86_64 0:2007f-4.el7.1 will be installed
---> Package libmcrypt.x86_64 0:2.5.8-13.el7 will be installed
---> Package php.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
--> Processing Dependency: httpd-mmn = 20120211x8664 for package: php-5.6.25-0.1.RC1.el7.remi.x86_64
--> Processing Dependency: httpd for package: php-5.6.25-0.1.RC1.el7.remi.x86_64
---> Package php-cli.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
---> Package php-common.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed    
--> Processing Dependency: php-pecl-zip(x86-64) for package: php-common-5.6.25-0.1.RC1.el7.remi.x86_64
--> Processing Dependency: php-pecl-jsonc(x86-64) for package: php-common-5.6.25-0.1.RC1.el7.remi.x86_64
---> Package php-gd.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
--> Processing Dependency: libt1.so.5()(64bit) for package: php-gd-5.6.25-0.1.RC1.el7.remi.x86_64
---> Package php-pdo.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
--> Running transaction check
---> Package php.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
--> Processing Dependency: httpd-mmn = 20120211x8664 for package: php-5.6.25-0.1.RC1.el7.remi.x86_64
--> Processing Dependency: httpd for package: php-5.6.25-0.1.RC1.el7.remi.x86_64
---> Package php-gd.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
--> Processing Dependency: libt1.so.5()(64bit) for package: php-gd-5.6.25-0.1.RC1.el7.remi.x86_64
---> Package php-pecl-jsonc.x86_64 0:1.3.10-1.el7.remi.5.6 will be installed
---> Package php-pecl-zip.x86_64 0:1.13.4-1.el7.remi.5.6 will be installed
--> Processing Dependency: libzip.so.4()(64bit) for package: php-pecl-zip-1.13.4-1.el7.remi.5.6.x86_64
--> Running transaction check
---> Package libzip-last.x86_64 0:1.1.3-1.el7.remi will be installed
---> Package php.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
--> Processing Dependency: httpd-mmn = 20120211x8664 for package: php-5.6.25-0.1.RC1.el7.remi.x86_64
--> Processing Dependency: httpd for package: php-5.6.25-0.1.RC1.el7.remi.x86_64
---> Package php-gd.x86_64 0:5.6.25-0.1.RC1.el7.remi will be installed
--> Processing Dependency: libt1.so.5()(64bit) for package: php-gd-5.6.25-0.1.RC1.el7.remi.x86_64
--> Finished Dependency Resolution
Error: Package: php-5.6.25-0.1.RC1.el7.remi.x86_64 (remi-test)
       Requires: httpd
Error: Package: php-gd-5.6.25-0.1.RC1.el7.remi.x86_64 (remi-test)
       Requires: libt1.so.5()(64bit)
Error: Package: php-5.6.25-0.1.RC1.el7.remi.x86_64 (remi-test)
       Requires: httpd-mmn = 20120211x8664
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

我想知道我是否遗漏了什么?看来我是在兜圈子!我每周都会在一台 Centos 机器上安装一个完整的堆栈,但在 RHEl 中通过它似乎是一个挑战。关于我应该寻找什么的任何指示? (顺便说一句,我找不到消息底部提到的remi-test repo)

This system is registered to Red Hat Subscription Management, but is not receiving updates. You can use subscription-manager to assign subscriptions.

这是一个没有官方存储库的问题,你不会找到一些依赖项。

  Requires: libt1.so.5()(64bit)

t1lib 是基本存储库的一部分,所以...您确实需要注册此系统。

  Requires: httpd

同样的问题。

顺便说一句,你为什么要启用这么多存储库,如果你想要 PHP 5.6,你只需要 "remi-safe" 和 "remi-php56" (不是 remi,remi-test,也不是 webtatic which只能制造冲突)。