php由php 5.4升级到php5.6

1.查看目前php版本(目前版本是5.4)

[root@syk ~]# php -v    
PHP 5.4.23 (cli) (built: Oct 26 2017 14:42:10) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
with Zend Guard Loader v3.3, Copyright (c) 1998-2013, by Zend Technologies

2.删除之前的php(卸载的时候关注下卸载了那些包)

yum remove php-common

3.安装php软件升级yum仓库(查看系统版本:lsb_release -a)

Centos 5.X

rpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpm

CentOs 6.x

rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm

CentOs 7.X

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

另外,如果想删除上面安装的包,重新安装,可以先查询

rpm -qa | grep webtatic

然后删除

rpm -e “输入上面搜索到的包即可”

4.安装php 5.6版本

(php56w-devel这个不是必需的)

yum install -y php56w php56w-devel php56w-opcache php56w-xml php56w-mcrypt php56w-gd 
php56w-mysql php56w-intl php56w-mbstring php56w-fpm php56w-pdo php56w-mysqli


注:

默认安装的文件位置位于如下列
/etc/php-fpm.d/www.conf
/usr/bin/php -v  # php5.6

有时自定义安装,原先的php版本不一定完全删除掉,安装后运行的还是原来的版本,
这是可以关掉之前的php进程,选择执行我们新安装的:
`/usr/sbin/php-fpm -c /etc/php.ini -y /etc/php-fpm.conf` #php-fpm、php.ini和php-fpm.conf都对应刚安装的文件

5.查看刚安装的PHP版本

[root@localhost ~]# php -v
PHP 5.6.38 (cli) (built: Sep 15 2018 08:16:33) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

常见问题:

  • Module \'json\' already loaded in Unknown on line 0

版本升级,json模块重复加载,将刚下载的/etc/php.ini中的extension="json"注释即可,取其一

  • date():It is not safe to rely on the system\'s timezone ***

配置php.ini文件:date.timezone = PRC

  • mkdir():Permission denied错误

权限不足,找到对应的文件夹给予777权限,chmod 777 -R log

  • class \'Memcache\' not found

新升级的PHP版本并没有这些扩展,需要额外安装。可参考 文档 安装memcache扩展
注意一定要写对的路径!!!如:

wget http://pecl.php.net/get/memcache-2.2.7.tgz    #下载
tar -zxvf memcache-2.2.7.tgz    #解压
cd memcache-2.2.7    #进入根目录(需有一个config.m4文件存在,编译所需)
/usr/bin/phpize    #进入PHP编译模式
./configure -enable-memcache -with-php-config=/usr/bin/php-config -with-zlib-dir
make && make install
make test    #测试结果

还要在php.ini 文件中加入:

[memcache]
extension=memcache.so

重启之。service php-fpm restart or /usr/sbin/php-fpm -c /etc/php.ini -y /etc/php-fpm.conf
扩展文件位于:/usr/lib64/php/modules,可通过命令php -m 查看

PHP

我来吐槽

*

*