军哥的LNMP一键包环境用户肯定也不少,也是当前比较好用的一键部署NGINX网站环境的环境包软件,唯一的不足是默认安装了不少的软件导致有些性能不是太好的VPS安装时间较长。与昨天老左分享的"AMH4.2面板升级PHP补丁解决Multipart/form-data漏洞问题"内容有些类似,一样是升级PHP版本,看到LNMP官方论坛军哥有给出升级方法,这里老左就整理出来便于分享需要。
同样的,在升级PHP版本或者重新编译当前PHP版本之前,我们需要做好数据备份,万一出现错误还可以恢复数据。因为老左在写这篇文章之前做过几次测试,都是可以的,但也有用户在其论坛反馈升级后网站出现问题,所以需要备份数据。
第一、升级PHP版本
LNMP系统文件中可以直接升级PHP版本,我们可以升级当前的5.2或者5.3到更高级别的PHP版本,比如老左这里演示的时候就把5.3.28升级到5.6.9.
A - 登录SSH,执行升级脚本
./lnmp1.1-full/upgrade_php.sh
执行脚本之后,我们可以看到上面界面,输入我们需要升级的版本,然后任意键就可以执行安装。
B - PHP升级安装完毕检查
编译PHP需要一些时间,我们需要等待。
看到这样的界面,LNMP中PHP升级完毕,我们可以到phpinfo中看看是不是最新升级后的版本。
第二、现有PHP版本的补丁
因为很多时候我们的网站环境需要某个特别的PHP版本支持,以及有些组件是基于某个版本的,如果升级会导致失效,所以很多时候我们还想用当前的版本,那就用补丁升级。
A - PHP5.2补丁升级
找到 patch -p1 < php-5.2.17-max-input-vars.patch行下面添加
wget https://soft.laozuo.org/scripts/php-5.2-multipart-form-data.patch
patch -p1 < php-5.2-multipart-form-data.patch
B - PHP5.3补丁升级
找到cd php-$php_version/这一行,下面添加
wget https://soft.laozuo.org/scripts/php-5.3-multipart-form-data.patch
patch -p1 < php-5.3-multipart-form-data.patch
然后将并42行到45行
if [ "$php_version" == "$old_php_version" ]; then
echo "Error: The upgrade PHP Version is the same as the old Version!!"
exit 1
fi
代码行删除。
我们需要依据上面的当前系统版本(如果不知道当前版本的话输入php -v 查看,或者丢一个phpinfo进去),然后修改lnmp1.1-full/upgrade_php.sh升级文件对应的方法,编辑文件之后再进行升级版本。输入版本号的时候,输入当前的系统PHP版本号,这样才是更新补丁。