本来准备在旧文章上面修改的,但是突然觉得有一段时间没有水内容了特意就开新篇章。
本次成功的替换到PHP7.3,同理上次7.2失败了的操作可以得到修正。
这次之所以再次折腾大概是因为5.6停止支持而我其中一台就服务器由于是Debian又暂时不能重装换Centos而再次折腾的。
为什么新装的系统是Centos呢?还不是因为之前Debian一直无法成功升级到7.2并顺利使用VestaCP面板管理。
同时使用Centos后发现yum update可以直接升级PHP等软件的版本(7.3.0update7.3.3)
还是那句话在搞事前最好备份一波数据(虽然这个好像没有什么数据风险),当然最好在测试环境测试通过后再再生产环境升级以备因程序不支持新版PHP导致无法运行。
这次用的也是SURY源,和7.2那篇不同的是这次因为机子在欧洲就不像那次一样使用镜像源了。
废话不多说直接搬。
apt-get install apt-transport-https lsb-release ca-certificates
安装信任密钥
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
添加源
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
apt-get update
在upgrade后发现PHP5.6.39升级到了PHP5.6.40可是这和我需要的PHP7+不一样啊,于是就安装一波。
本次和上次不一样的地方除了7.2变7.3外php7.3-fpm也换成php7.3。
(这个需要看具体环境,由于我是Nginx+Apache因此不需要php7.3-fpm,如果是使用php-fpm就使用php7.3-fpm)
apt install php7.3 php7.3-mysql php7.3-curl php7.3-gd php7.3-mbstring php7.3-xml php7.3-xmlrpc php7.3-zip php7.3-opcache -y
将文件/etc/php/7.3/apache2/php.ini中的;cgi.fix_pathinfo=1改为cgi.fix_pathinfo=0。
sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/' /etc/php/7.3/apache2/php.ini
一波操作猛如虎,连php -v版本已经变为7.3.3了使用phpinfo();一看还是5.6.40,折腾许久才在旧水文中找到方法(其实知道了,但是忘记要怎么操作了)
禁用php5模块
a2dismod php5
启用php7模块
a2enmod php7.0
重新加载/重新启动Apache服务
service apache2 restart
通过phpinfo();查看变成了PHP Version 7.3.3-1+0~20190307202445.32+jessie~1.gbp32ebb2
O98K!已经完成了,后面准备也把mysql升级的,卸载后再想到太麻烦了搞不好还要恢复数据可是不知道有没有被卸载掉因为卸载时有一个错误,感觉还是要升级一下换成MariaDB。
参考:
在 Debian 安装 PHP7.1 并使用七牛缓存加速海外源:https://www.mf8.biz/ondrej-sury-php7-1/
Debian8.x下Vestacp使用PHP7.2:https://www.cyzwb.com/2018/07/176.html
不是在Debian(Ubuntu)上启用PHP7(带有OPCache)吗?:https://www.cyzwb.com/2017/04/141.html
本来准备就在7.2那里修改一下可是还是想水一水~~~
Ps:任何操作之前记得备份数据并保证备份可用性。
ChiuYut
2019年4月9日