我的apache服务器上有一个包含多个php脚本的文件夹。此文件夹中的所有php脚本都工作,除了1.所有PHP脚本(包括不起作用的脚本)都具有相同的权限。
当我在浏览器中运行脚本时,出现此错误:
HTTP ERROR 500
可能有用的详情:
PHP版本7.0.11 Apache / 2.2.15(CentOS)
答案 0 :(得分:1)
Apache状态代码500表示“内部服务器错误”。如果没有看到产生此错误的代码,很难说是导致它的原因,但首先要检查的是服务器配置和.htaccess文件。确保您的服务器正常运行然后检查您的.htaccess文件,因为一个错误的规则会强制某些类型的PHP出现故障。正如@RiggsFolly所说,问题也可能是编写得非常糟糕的PHP,可以通过一个简单的程序替换它来测试:
<?php
echo "test";
?>
答案 1 :(得分:0)
解决方案:在我的情况下,500错误的问题是从PHP 5.x升级到7;但是:我想这个错误可能来自其他许多原因,所以如果它不适用,祝你好运找到其他解决方案。在这种情况下,它工作 - 解决方案是重写代码或降级到旧的PHP版本,直到您重新编码不兼容的部分。
解释/调试过程:经过多次测试以确定发生了什么(评论部分代码,测试函数,阅读文档),我发现以前版本的PHP中不推荐使用的函数将产生500错误。
例如,在为PHP&lt; 7编写的脚本中,您可能仍然有像mysql_connect这样的旧mysql查询,并且一旦您的服务器更新为7(并且您必须使用mysqli),此脚本将抛出500错误。 我想这会发生在任何其他被弃用的函数上。
在你的情况下,我的赌注是大多数脚本都与7兼容,其中一个不是。