PHP7.3环境下如何让HTML页面正常运行PHP代码
PHP7.3升级后HTML内PHP代码不解析问题解决方案
问题根因
升级PHP版本后原有handler标识失效、.htaccess权限不足或者FastCGI模式下原有handler规则不兼容,导致服务器没有将HTML/htm文件交给PHP解析,直接返回源码被浏览器识别为注释。
排查&解决步骤
- 确认正确的PHP handler标识
新建phpinfo.php文件写入<?php phpinfo(); ?>,访问后查询Handler字段确认PHP7.3对应的实际handler名称,cPanel环境通常为application/x-httpd-ea-php73,FastCGI模式通常为fcgid-script,替换后续配置里的handler占位值。 - 补充完整的.htaccess解析规则
原有仅配置AddHandler规则不完整,替换为以下内容:AddHandler 【你的实际handler名】 .php .php5 .html .htm AddType application/x-httpd-php .php .html .htm <FilesMatch "\.(html|htm|php)$"> SetHandler 【你的实际handler名】 </FilesMatch> - 确认.htaccess生效权限
检查Apache站点配置的对应站点<Directory>段,确认AllowOverride All已开启,若为AllowOverride None则.htaccess规则完全不生效,修改后重启Apache服务。 - FastCGI/PHP-FPM模式特殊配置
若phpinfo里Server API显示为FPM/FastCGI,以上handler规则不生效,改用以下配置,sock路径替换为服务器实际PHP7.3-FPM的sock地址:
若PHP-FPM用TCP端口监听,改为:<FilesMatch "\.(html|htm)$"> SetHandler "proxy:unix:/run/php/php7.3-fpm.sock|fcgi://localhost" </FilesMatch><FilesMatch "\.(html|htm)$"> SetHandler "proxy:fcgi://127.0.0.1:9000" </FilesMatch> - 清理缓存测试
配置修改后清理服务器opcache、站点缓存、CDN缓存,用浏览器无痕模式访问,避免本地缓存干扰测试结果。
内容的提问来源于stack exchange,提问作者user1823053
相关产品推荐
相关产品推荐

