php - AddType application/x-httpd-php .html
问题描述
我正在从使用 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 处理程序”,而在这个新服务器上,它被配置为“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。
欢迎评论和想法!
再次感谢大家。
推荐阅读
- javascript - 从firebase实时数据库获取准确的Unix时间戳?
- ios - 当用户尝试使用 PHPickerViewController 在 IOS 14、swift 5 中使用选定的照片权限检索视频时,获取视频数据为零
- python - 如何在 Scrapy 中将产品变体分成单独的行?
- javascript - 如何在浏览器 Chrome 中使用 js ::占位符颜色
- javascript - 提取除特定字段外所有字段均等于的对象
- c# - Page.ClientScript.RegisterStartupScript 不加载弹出窗口
- javascript - 如何使用正则表达式屏蔽电子邮件地址?
- python - 如何在 Windows 10 上使用 Anaconda 提示符从批处理文件运行 Python 文件?
- python - 我想使用 lambda 函数(来自 df,其中列 dtypes 是 object 和 int)captalize 字符串
- mysql - 如何从其他两个表/Entity JPA hibernate 创建单个实体,使用公共键生成 INNER JOIN 结果