我正从一台装有 PHP 5 的服务器迁移到一台装有 PHP 7 的新服务器,我在告诉 Apache 将 .html 解析为 PHP 脚本时遇到问题。
在我的 .htaccess 文件中,这条线在我当前使用 PHP 5 的服务器上正常工作:
AddType application/x-httpd-php .html
但在新服务器上,该指令使任何 .html 文件都被下载而不是作为 PHP 脚本执行。
我知道在当前安装了 PHP 5 的服务器上,PHP 配置为 API 设置为“Apache 2.0 Handler”,而在这个新服务器上它配置为“FPM/FastCGI”,我想这可能是问题所在?如果是这样,我该如何在不更改 API 设置的情况下克服它?
期待您的来信。提前感谢您的帮助!
最佳答案
经过几个小时的研究,我最终阅读了这个页面:
https://www.digitalocean.com/community/questions/php-fpm-security-limit_extension-issue
我通过在 .htaccess 中添加这段代码解决了这个问题:
<FilesMatch ".+\.html$">
SetHandler "proxy:unix:/run/php/php7.0-fpm-[myhostname].sock|fcgi://localhost"
</FilesMatch>
为了避免服务器给我一个“访问被拒绝”的错误,我不得不将这一行放在/etc/php/7.0/fpm/php-fpm.conf 中:
security.limit_extensions = .php .htm .html .inc .rss .rdf .xhtml
然后重新启动 PHP 守护进程:
service php7.0-fpm restart
现在似乎一切正常!我会说相当复杂,我认为这是因为 PHP 配置了 FPM/FastCGI API。
欢迎提出意见和想法!
再次感谢大家
关于php - 添加类型应用程序/x-httpd-php .html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57861812/