使用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版本升级完成。

评论