PHP 官方网站消息:2018 年 12 月 3 日起,PHP 官方将停止更新 7.0 版本的安全漏洞。为了安全起见,建议 PHP 至少升级到 7.1 版本或 7.2 版本。7.3 版本不太稳定,不建议升级到 7.3。
官方页面:http://php.net/supported-versions.php
有鉴于此,我把博客和英文网站都升级到了 7.2.12
VPS 建站 PHP 从 7.0 升级到 7.2
说明:以下操作只适合 CentOS 系统+LNMP 一键安装包来进行 VPS 建站的情况
首先连接 ssh,xshell 连上后,可以看看当前 PHP 是什么版本。大多数安装 lnmp 环境包的,应该当初安装 PHP 选的是 7.0 版本。
(现在用 LNMP 1.5 安装包的朋友,请安装时直接选 7.2 版本安装)
输入如下命令查看一下版本号:
php -v
显示信息:PHP 7.0.X 好吧,无论是版本是 7.0.7 还是 7.0.32 的,都还是 7.0 版本的 PHP,开始准备升级吧。
输入命令
ls /root/
看看输出结果。如果你是用的一键 LNMP 包安装的环境,应该会有目录名。蓝色字体显示的是目录名,看看是 lnmp1.3 还是 lnmp1.4。(如果你从 1.3 升级到 1.4 过,那么应该同时有两个目录)
然后执行命令(如果你版本是 1.3,请在下面命令中自行修改):
cd /root/lnmp1.4 && bash upgrade.sh php
然后会出现让你输入版本号的提示。
输入 7.2.12 回车。
等待自动下载并安装完毕(需要一阵子,网络别断开),即可。
安装完执行命令检查一下:
php -v
没问题的话,会出现提示信息:
PHP 7.2.12 (cli) (built: Nov 12 2018 17:54:01) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
另外注意:对于 VPS 用了 LNMP 一键安装包安装环境的,升级更新 PHP 后,会覆盖原先修改过的 php 配置文件(php.ini)。那么需要重新再修改一下,把 scandir 删除,然后重启 php 即可。否则会无法切换其它主题。
这个修改 php.ini 并删除 scandir 函数的操作,在以前的帖子里提过:LNMP 下安装使用 WordPress 的常见问题记录。
有需要可以重新看一下,页面打开,ctrl+f 查找 scandir
SiteGround 虚拟主机升级到 7.2
其实 SiteGround 虚拟主机不用太担心,因为 SiteGround 默认安装的版本是 7.1.23。而 7.1 版本要到 2019 年 12 月份才停止安全更新,所以也不用急着升级 PHP 版本。
而且,后面 SiteGround 官方对于新用户,默认安装的 PHP 版本也只会逐步提高,所以没什么要烦神的。
当然如果你觉得升级到 7.2 才放心,那也随你。
登陆后台,进入 Cpanel。
找到 1H SOFTWARE,点击 PHP Version Manager。
点击进入 public_html(网站根目录)的 PHP 版本选择。
选择 7.2 版本。保存。OK,搞定 !
SiteGround PHP 版本向上支持到 7.3.0,莫名好评!选择 SiteGround,体验确实不错。
本文 OVER!
本站所有文章除注明“转载”的文章之外,均为原创。未经本站允许,请勿随意转载或用作任何商业用途,否则依法追究侵权者法律责任的权利。
一次成功,刚写料大
发现个问题,更新完后,要重新关闭了 scandir 函数,修改 php.ini(lnmp 一键包下的目录为/usr/local/php/etc/php.ini),将禁用函数列表中的 scandir 删除即可,否则会不显示 template 和更换主题
跟着料神有肉吃,感谢你的 vps 升级攻略
该评论为私密评论
@Alan 该评论为私密评论
该评论为私密评论
像你用的这个插件 contact-form-7-skins,出现这样的错误提示,表明还没完全适配 PHP7.2。如果作者升级到 PHP 7.2,肯定会发现这样的问题。你可以看看插件有没有任何 update 的版本。如果没有,找个熟悉代码的解决这个被 disabled 的 scandir() 函数。或者你暂时停止激活此插件。
另外其他的 WordPress 的警告提示,都是一些 php 函数的小问题。我升级过后也出现过一些提示,我做了一些函数修复和替换即搞定了。但是你如果要解决的话估计自己弄不太容易,还是找人解决比较好。
我自己升级从 php7.0 升级到 PHP 7.2
发现 PHP 7.2 与 layerslider 5.6.6 不兼容
网站终于恢复正常了,哦耶!
升级完,然后
# php -v
-bash: php: command not found
然后网站无法访问了。。。
Sam 真是及时雨