wordpress自动更新至5.1版本后,提示升级PHP可提高性能。于是我开始对服务器进行了PHP升级···这里我升级至php7.2.16版本,升级历程如下:
检查wordpress上已安装插件是否支持PHP7.2
- 在wordpress后台安装该插件:PHP Compatibility Checker,启用后对已安装插件进行扫描,可选择待检查支持的PHP版本,使用较为简单,此处不赘述。
安装PHP7.2版本
- 主要参考链接:
- 我的服务器原来php是5.5版本,选择升级至7.2.16版本,从官方下载链接获取安装包,注意从Hong Kong 框下下载,然后执行如下操作:
cd /usr/local/
tar -xzvf php-7.2.16.tar.gz
cd php-7.2.16
./configure
./configure
yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel pcre-devel curl-devel libxslt-devel
make && make install
cp php.ini-development /usr/local/php-7.2.16/lib/php.ini
cp /usr/local/php-7.2.16/etc/php-fpm.conf.default /usr/local/php-7.2.16/etc/php-fpm.conf
cp /usr/local/php-7.2.16/etc/php-fpm.d/www.conf.default /usr/local/php-7.2.16/etc/php-fpm.d/www.conf
cp -R ./sapi/fpm/php-fpm /etc/init.d/php-fpm
ps -ef | grep "php-fpm"
kill 'pid'
/etc/init.d/php-fpm
- 此时服务器已完成php升级,但是竟然发现升级后博客无法访问,页面提示数据库无法连接的错误。检查下数据库配置没错,看了下wordpress5.1的wp-db.php页面,发现更新后的wordpress对mysql和mysqli扩展都支持,也就是说问题不在wordpress上,那看来就是php7对旧版本的mysql扩展不支持了。原来php7采用了mysqli和mysqlnd扩展,默认已不再支持mysql扩展···然鹅我的服务器mysql还是5.0.1版本···于是我尝试了还原mysql扩展,操作如下:
找回mysql扩展
<?php
echo phpinfo();
$link=MySQLi_connect('localhost','J3gm2lWz','uDwSOHvv11M7','J3gm2lWz');
if(!$link) echo "Error !";
else echo "Ok!";
MySQLi_close();
?>
访问网站是否完成升级
- 正常的话升级就结束了,而且我发现性能的确有了很大提升,之前整个网站访问延时都是秒级,现在似乎大部分都在1秒内即可加载完成了。而且对接wordpress的微信小程序,之前经常性的刷不出页面,无法访问,现在基本不再遇到了。丝滑到底~哈哈~
- 我这里使用了wp-photo-album插件, 升级后还遇到了一个错误:网站首页最上栏出现错误信息
Warning: fopen(/yjdata/www/www/wp-content/plugins/wp-photo-album-plus/dynamic/wppa-init.zh.js): failed to open stream: Permission denied in /yjdata/www/www/wp-content/plugins/wp-photo-album-plus/wppa-wrappers.php on line 233
,看起来是文件/文件夹权限问题,我这里暴力对整个文件夹采用了chmod +777 /yjdata/www/www/wp-content/plugins/wp-photo-album-plus/*
操作,立马解决了,但我的wordpress其实还有一个遗留问题就是下载更新插件,上传多媒体文件都需要输入FTP账户密码,显然是隶属于的用户和组有问题,没有写权限,不过一直还没仔细排查处理。感觉这个wp-photo-album插件问题也和遗留问题类似,尚待解决啊!