我已经阅读了大约 10 个这样的问题,但是对于这个简单的问题似乎没有答案。
什么可能导致 .htm 文件被下载而不是作为 php 执行?
我正在使用以下代码:
AddType application/x-httpd-php htm
我尝试了很多组合,但没有成功。
我还能尝试什么?
我只需要.htm 和.html 文件来执行php。
也使用AddHandler
,更改htm
和.htm
添加.html
AddHandler application/x-httpd-php .htm .html
AddType application/x-httpd-php .htm .html
我有同样的问题,但后来我发现我使用的 php 版本是 php5。我将处理程序更改为以下内容并且它有效!
AddHandler x-httpd-php5-3 .php
AddHandler application/x-httpd-php5 .php
我有同样的问题,在这里找不到答案。虽然在这个 cpanel 论坛上找到了它: https ://forums.cpanel.net/threads/php-script-is-not-working-in-html-file.595195/
他们的建议是使用这个:
AddHandler application/x-httpd-ea-php56 .htm .html .shtml
AddType application/x-httpd-php5 .php
不过,我将 PHP 与 JSON 一起使用。在此 PHP 确实工作之后,但 JSON 没有。通过删除 AddType 并坚持使用 AddHandler 解决了它
AddHandler application/x-httpd-ea-php56 .htm .html .shtml
我正在与这个超级令人沮丧的问题分享我自己的经验。我的主机被另一家主机提供商接管,他们改变了技术。其中一项更改允许我随意编辑自己的 PHP 版本,但绝对没有一个(从最低的 5.4 到最高的 7.2)正常工作。我在所有域中使用了全局 .htaccess(放置在根目录中),并且在文件的开头有我的 AddType-s 和 AddHangler-s 。我知道的很少——当我一直在更改 PHP 版本时,这个小虫子在.htaccess 文件的最后写了正确的字符串,定义了我的 PHP 版本的正确名称. 当我在文件开头定义类型时,我使用了错误的句柄并且完全跳过了底部声明,Apache 没有识别该技术并决定直接下载。
因此,请注意您的托管服务提供商上的自定义 PHP 句柄定义。
最后对我有用的是:
<IfModule mime_module>
AddType application/x-httpd-ea-php72___lsphp .php .php7 .phtml .htm .html
</IfModule>
请注意附加在标准“x-httpd-ea-php72”句柄末尾的“___lsphp”...
天哪,这让我吃了不少苦头……
在 Apache 和 nginx 中只有工作.htaccess
文件:
<FilesMatch "\.html$">
SetHandler php-script
</FilesMatch>
我也AddHandler
从AddType
Apache conf 中删除了(我使用了 plesk)。
尝试:对于 PHP 5.6 的 application/x-httpd-ea-php5 或 application/x-httpd-ea-php56 我必须在升级到 EasyApache 4 后更改为这个
道格 Smartlab 软件
将此行添加到您的 .htaccess 文件中(已解决)
AddHandler application/x-httpd-php5 .php .php4 .php5 .html .htm .phtml .shtml
尝试
AddHandler fcgid-script .htm .html
或者
AddHandler x-mapp-php5 .html .htm
在 .htaccess 文件中添加这个
AddType application/x-httpd-php .php .php5 .phtml