目前在域根目录中的 htaccess 文件中使用“AddHandler application/x-httpd-ea-php56 .php”,因为这是唯一有效的方法。
如果我尝试切换到 php7,该页面要么尝试下载,要么得到 HTTP 错误 500。
以下下载页面:
AddHandler application/x-httpd-ea-php7 .php
以下给我 500 错误:
AddHandler application/x-httpd-ea-php71 .php
下载页面:
AddHandler x-httpd-php7 .php
500错误:
<IfModule mime_module>
AddType application/x-httpd-ea-php72 .php .php7 .phtml .htm .html
</IfModule>
500错误:
<IfModule mime_module>
AddHandler application/x-httpd-ea-php73 .php .php7 .phtml
</IfModule>
下载页面:
AddHandler application/x-httpd-php7 .php .html .htm .phtml .shtml
等
在子目录中,我可以使用以下内容:
<IfModule mime_module>
AddHandler application/x-httpd-ea-php73 .php .php7 .phtml
</IfModule>
尝试在根 .htaccess 文件中使用它……没有 cookie。
如果我重新添加 AddHandler application/x-httpd-ea-php56 .php,它又可以正常工作了。
我也尝试了其他一些我发现的其他方法。其他人遇到过这个问题吗?主机是Bluehost。
我在根 htaccess 文件中唯一的其他半相关内容如下,但我也尝试将其删除但结果没有改变:
AddHandler server-parsed .html
AddHandler server-parsed .htm
对于 Godaddy,我的解决方案是,在更新 php 后添加以下行(取出旧的 php 声明):
AddHandler 应用程序/x-httpd-alt-php74___lsphp .php .html .htm
实际上只需要显式声明页面类型即可。
看来你的服务器上存在 PHP 版本冲突,解决这个问题的最简单方法就是更新你服务器上的 PHP 版本。
做任何事情之前先备份!
转到服务器的终端并输入:
php -v
这应该为您提供服务器上安装的 PHP 版本,现在确保您的 .htaccess 处理程序与安装的 PHP 版本匹配。
所以例如,如果你有这个作为处理程序:
AddHandler application/x-httpd-ea-php71 .php
你的 PHP 版本应该是 7.1
如果您在不更新 PHP 版本的情况下更改 .htaccess 处理程序,则会发生冲突。
这是Bluehost的官方指南https://my.bluehost.com/hosting/help/htaccess-php-handlers
希望对您有所帮助!
当我尝试使用 cpanel 更新 php 版本时,我在 Wordpress 网站上遇到了同样的问题。 .htaccess 中有以下指令将 php 版本锁定在 7.2 中,不管我在 CPanel 中选择了什么版本。
<IfModule mime_module>
AddHandler application/x-httpd-ea-php72___lsphp .php .php7 .phtml
</IfModule>
每次尝试更改此指令时,wordpress 都会崩溃。
解决方案是删除此指令。
我遇到了同样的问题,我正在使用 SiteGround,当我进入我的页面时,它只会下载网站。我知道问题出在指令上。 mime_module 但我已经用我的 htaccess 正确配置了 php 版本