【问题标题】:Why does my script return: HTTP ERROR 500为什么我的脚本返回:HTTP ERROR 500
【发布时间】:2016-09-29 17:03:15
【问题描述】:

我的 apache 服务器上有一个文件夹,其中包含几个 php 脚本。此文件夹中的所有 php 脚本都可以工作,除了 1。所有 php 脚本,包括不工作的脚本,都具有相同的权限。

当我在浏览器中运行脚本时,出现以下错误:

HTTP ERROR 500

可能有用的细节:

PHP 版本 7.0.11 Apache/2.2.15 (CentOS)

【问题讨论】:

  • (错误)日志中有什么内容?
  • 可能有帮助的详细信息: 脚本中的代码会炸毁您的服务器!!! PHP代码可以写得这么糟糕,可能会导致500个错误
  • 这不仅仅是权利问题,即使是语法错误也会在很多设置中产生该错误
  • @Fred-ii- 我尝试在最后删除 ?> 并添加了退出;就在脚本的开头,但两者都不起作用。但是,如果我删除所有代码然后回显“HELLO”;该脚本有效。只需逐段构建代码以找出确切的问题。
  • @BastiaanWW 这就是我之前要建议的,你可以在这里和那里放置中断,通过一次删除一个来查看它开始中断的位置。这是一个漫长的过程,但它可以完成工作。

标签: php apache http-error


【解决方案1】:

Apache 状态码 500 表示“内部服务器错误”。如果没有看到产生此错误的代码,很难说出是什么原因造成的,但首先要检查的是服务器配置和您的 .htaccess 文件。确保您的服务器正常运行,然后检查您的 .htaccess 文件,因为错误的规则可能会迫使某些类型的 PHP 发生故障。正如@RiggsFolly 所说,问题也可能是一些写得很糟糕的PHP,可以通过用一个简单的程序替换它来测试它: <?php echo "test"; ?>

【讨论】:

    【解决方案2】:

    解决方案:在我的情况下,500 错误的问题是从 php 5.x 升级到 7;但是:我想这个错误可能来自许多其他原因,所以如果它不适用,祝你好运找到其他解决方案。在这种情况下,它起作用了 - 解决方案是重写代码或降级到旧 PHP 版本,直到您重新编码不兼容的部分。

    说明/调试过程:经过多次测试以确定发生的情况(注释部分代码、测试函数、阅读文档),我发现以前版本的 PHP 中已弃用的函数会产生 500 错误。

    例如,在为 PHP

    在你的情况下,我敢打赌大多数脚本都与 7 兼容,一个不兼容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-06
      • 2020-02-02
      • 2017-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多