升级PHP 7.1并启用PHP-FPM

一个多月前把系统升级到了Debian Buster,同时Apache也升级到了2.4.27,然后就发现HTTP/2没法用了,因为那时忙别的事情,也就没去管它。
今天闲着无事,就翻了翻文档,才发现在Apache 2.4.27中,Apache MPM (Multi-Processing Module) prefork取消了对HTTP/2的支持。因此,准备随即切换到Apache MPM event。
但随之而来的一个新问题就是,Apache服务器下,PHP所使用的mod_php模块只能支持prefork,因此,同时要将PHP切换到php-fpm以在FastCGI模式下运行PHP。然后想想,不如同时把PHP升级到7.1版本算了。
首先要做的,就是卸载PHP 7.0,虽然直接安装也行,但我还是选择了卸载,反正留着也没用。如果有安装phpMyAdmin,因为依赖被卸载,所以也会连带被卸载,这里直接选择卸载重装。

apt-get purge phpmyadmin php7.0-gd php7.0-xml php7.0 php-pear php7.0-mysql php7.0-common
apt-get autoremove

然后重新安装PHP 7.1,可以一步安装完所有包,也可以分开安装。这里为了写得清楚一点,分开写。但需要注意的是,如果一步安装PHP 7.1基本包的同时安装php7.1-fpm,默认就不会安装包含了mod_php模块的libapache2-mod-php7.1,如果你要用mod_php,要么分开两步装,要么别装php7.1-fpm。
首先安装LAMP需求的包。

apt-get install php7.1 php-pear php7.1-mysql

然后是WordPress需求的包。

apt-get install php7.1-gd php7.1-xml

然后是php-fpm。

apt-get install php7.1-fpm

最后装回phpMyAdmin,需要注意的是,phpMyAdmin默认安装的需求包是php7.0-mbstring,在PHP 7.1下会提示缺少mbstring,这个问题困扰了好久!最后发现,直接选择安装php7.1-mbstring就解决了!

apt-get install phpmyadmin php7.1-mbstring

安装完成之后重新配置以下phpMyAdmin就行。可以参考这里:写给像我这样的新手的phpMyAdmin教程 (Apache)
之后就是启用PHP-FPM了。
首先关闭Apache服务器。

service apache2 stop

再执行以下命令。

a2enmod proxy_fcgi setenvif
a2enconf php7.1-fpm
a2dismod php7.1
a2dismod mpm_prefork
a2enmod mpm_event

最后重新启动Apache,这样就大功告成了,很简单。然后测试一下,我遇到了些问题,最后发现是自己写的.htaccess里面有一些PHP语句需要更新,这方面注意一下。


评论

发表评论