使用yum升级php
参考网上多位网友提供的方法并没有成功的升级php版本,最终我采用的是先删除旧版本php,再安装新版本php的方式解决需求。
服务器上使用的中标麒麟,系统自带的php是5.3.3版本,因为某软件新版本不再支付php5.3,所以尝试更新升级服务器上的php到更高版本。 通过度娘,参考网上多位网友分享的方法升级并没有成功的升级php版本,要不是命令执行完了一查php版本没变化,要不就是升级时报依赖错误。反正折腾好久也没搞定。 最后我采用的是先删除php5.3.3,再安php5.6这种半自动升级的方式解决了问题。
升级中遇到的错误(这里是升级php5.5,我升级5.6遇到的错误类似,只是版本不一样)
Error: Package: php-cli-5.5.28-1.el7.remi.x86_64 (remi-php55)
Requires: libcrypto.so.10(OPENSSL_1.0.1_EC)(64bit)
Error: Package: php-pgsql-5.5.28-1.el7.remi.x86_64 (remi-php55)
Requires: libpq.so.5()(64bit)
Error: Package: php-common-5.5.28-1.el7.remi.x86_64 (remi-php55)
Requires: libc.so.6(GLIBC_2.15)(64bit)
Error: Package: php-pecl-jsonc-1.3.7-1.el7.remi.5.5.x86_64 (remi-php55)
Requires: libc.so.6(GLIBC_2.14)(64bit)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
解决方案,先删除php5.3.3,再安装高版本php
删除php5.3.3
yum remove php-common
网上找的安装php的方法
添加 epel 源
# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
添加 remi 源
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
安装 PHP(其实这里有个坑……,修正后的安装语句在后面)
# yum --enablerepo=remi-php56 install php php-fpm php-common php-devel php-mysqlnd php-mbstring php-mcrypt
网上有些坑爹的安装php的语句是这样
# yum --enablerepo=remi-php56 install php-fpm php-common php-devel php-mysqlnd php-mbstring php-mcrypt
看出有啥区别没? 对啦,少了php。 这样安装下面的检查也能通过,但就是php页面不解析。
检测php版本,通过
[root@koko.vc ~]# php -v
PHP 5.6.30 (cli) (built: Jan 19 2017 08:09:42)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
启动 php-fpm,通过
# service php-fpm start
Starting php-fpm: [ OK ]
如果少安装了php,你会发现php代码没有解析。检查发现是httpd下没有php的配置文件。
添加配置文件后重启httpd报错:
[root@gzwssp-01 conf.d]# service httpd restart
停止 httpd: [确定]
正在启动 httpd:httpd: Syntax error on line 221 of /etc/httpd/conf/httpd.conf: Syntax error on line 6 of /etc/httpd/conf.d/php.conf: Cannot load /etc/httpd/modules/libphp5.so into server: /etc/httpd/modules/libphp5.so: cannot open shared object file: No such file or directory
[失败]
再三检查发现,是没有安装php!对,没安装php!网友给出的那个php安装语句中没有php自己…… 但是php -v又有结果是什么鬼。
修正后的php安装语句:
# yum --enablerepo=remi-php56 install php php-fpm php-common php-devel php-mysqlnd php-mbstring php-mcrypt
安装后,重启httpd,php页面正常解析。 到此,php版本升级完成。