昨天升级阿里云服务器的PHP版本到8.1以后,突然发现服务器上运行的另一个 Magento 1.9 网站出错了。即使打了补丁,Magento 1 支持的最高PHP版本也只能到 PHP 7.x。因此这个网站因为不适应新的环境罢工了。
Magento 1 的网站内容和流量很少,为了这个网站,肯定不能把好不容易才升级上去的版本降级回去,哪怕把它迁移到新的平台也不能再降级回去啊。不过现在精力有限,有没有更好的办法先它先运行着,等忙完别的事情再回来处理这个?最终大伟哥找到了一个在 Apache 服务器下让不同网站运行在不同版本的PHP上的办法。
方法很简单,直接在虚拟主机的配置文件里指定处理PHP的版本就可以了。一般 Debian 系的 Apache 虚拟主机配置文件在/etc/apache2/sites-available目录下,在对应需要用PHP 7.3 运行的网站配置.conf文件里面加入以下 FilesMatch 代码:
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php7.3-fpm.sock|fcgi://localhost"
</FilesMatch>
然后重启 Apache 服务器就可以了。
这里需要注意的是,PHP 要用 fpm 模式和 Apache 服务器配合,另外当前的 PHP 版本比须都已经安装在服务器上,并且 Apache 下面的 fpm 模块配置都处于启动状态。
添加新评论