Ubuntu已安装PHP7.4仍提示Mautic不支持PHP8.1.2如何解决
问题原因
系统同时安装多版本PHP时,命令行(CLI)的PHP版本和Web服务处理HTTP请求的PHP版本为独立配置。当前报错明确说明浏览器访问Mautic时,Web服务调用的是PHP 8.1.2版本解析请求,和你已安装的PHP 7.4环境不冲突,仅需调整Web服务的PHP解析版本即可正常运行Mautic。
注意:通过update-alternatives --set php命令修改的仅为命令行默认PHP版本,不会改变Web服务的PHP解析逻辑,仅修改该配置无法解决当前报错。
分场景调整Web服务配置
场景1:使用Apache作为Web服务
- 先禁用当前加载的PHP 8.1模块,执行命令:
a2dismod php8.1 - 启用PHP 7.4解析模块:
a2enmod php7.4 - 重启Apache服务使配置生效:
systemctl restart apache2
场景2:使用Nginx + PHP-FPM作为Web服务
- 首先确认已经安装PHP7.4对应的FPM组件,未安装则先执行安装:
apt install php7.4-fpm - 找到Mautic站点对应的Nginx虚拟主机配置文件,默认存放在
/etc/nginx/sites-available/目录下 - 定位配置中处理PHP请求的
fastcgi_pass配置项,当前默认配置一般指向PHP8.1的Sock文件,内容类似:fastcgi_pass unix:/run/php/php8.1-fpm.sock; - 将该配置项修改为PHP7.4-FPM对应的Sock路径:
fastcgi_pass unix:/run/php/php7.4-fpm.sock; - 执行命令校验Nginx配置是否存在语法错误:
nginx -t - 校验通过后重启相关服务使配置生效:
systemctl restart nginx systemctl restart php7.4-fpm
配置验证
在Mautic的Web根目录新建临时探针文件phpinfo.php,写入如下内容:
<?php phpinfo();
通过浏览器访问该探针文件,确认页面显示的PHP版本为7.4.x即说明配置生效。验证完成后必须删除该探针文件,避免泄露服务器敏感信息,之后重新访问Mautic安装目录即可正常进入安装流程。
注意:切换到PHP7.4版本后,需提前安装Mautic依赖的PHP7.4对应扩展,常见必需扩展包括
php7.4-mysql、php7.4-curl、php7.4-gd、php7.4-mbstring、php7.4-xml、php7.4-zip、php7.4-intl、php7.4-bcmath,避免后续安装过程中报扩展缺失错误。
内容的提问来源于stack exchange,提问作者Lionel Krieger
相关产品推荐
相关产品推荐

