升级Ubuntu18与PHP8.0后phpinfo()显示异常问题求助
出现该问题的核心原因是你的Web服务器(Apache/Nginx)没有正确加载PHP 8.0的处理模块,卸载PHP7.2后原有的PHP解析规则失效,导致PHP文件被当作静态文本直接返回,可按以下步骤排查修复:
修复步骤
1. 确认PHP 8.0对应Web模块已安装
执行命令查看当前已安装的PHP8.0相关组件:dpkg -l | grep php8.0
根据你使用的Web服务确认对应模块存在:
- Apache环境需要安装
libapache2-mod-php8.0,缺失的话执行apt install libapache2-mod-php8.0安装 - Nginx环境需要安装
php8.0-fpm,缺失的话执行apt install php8.0-fpm安装
2. 修正Web服务配置
Apache环境操作
- 禁用残留的旧PHP模块配置:
a2dismod php7.2(提示模块不存在可直接跳过) - 启用PHP8.0处理模块:
a2enmod php8.0 - 校验站点配置中存在PHP解析规则,核心规则如下:
AddType application/x-httpd-php .phpDirectoryIndex index.php index.html
- 重启Apache生效:
systemctl restart apache2
Nginx环境操作
- 打开站点配置文件,找到PHP处理段,将
fastcgi_pass参数修改为PHP8.0的fpm套接字路径,常见路径为unix:/run/php/php8.0-fpm.sock,修改后配置示例:
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.0-fpm.sock;
}
- 依次重启PHP8.0-fpm和Nginx生效:
systemctl restart php8.0-fpmsystemctl restart nginx
3. 验证修复结果
在站点根目录创建测试文件info.php,内容为<?php phpinfo(); ?>,访问该文件确认正常输出PHP配置信息即可,测试完成后建议删除该文件避免泄露服务器信息。
内容的提问来源于stack exchange,提问作者Gazzieh
相关产品推荐
相关产品推荐

