【问题标题】:500 internal server error, how to debug [duplicate]500内部服务器错误,如何调试[重复]
【发布时间】:2023-03-10 11:05:01
【问题描述】:

我的 POST 请求出现内部服务器错误。我该如何调试它们?是否需要在 php.ini 中设置?该文件非常大,并且多次遇到“错误”一词。

【问题讨论】:

  • 打开你的 php 错误。
  • 从上到下解决遇到的第一个错误。
  • 查看以上链接。它几乎包含您需要的所有内容。
  • 对我来说这不是 PHP 错误,由于某些原因它显示的服务器错误为 500。

标签: php debugging


【解决方案1】:

你可以用error_reporting打开你的PHP错误:

error_reporting(E_ALL);
ini_set('display_errors', 'on');

编辑:即使放置此内容后,错误仍然可能不会出现。如果脚本中存在致命错误,则可能会导致此问题。来自PHP Runtime Configuration

虽然 display_errors 可以在运行时设置(使用 ini_set()),但如果脚本有致命错误,它不会有任何影响。这是因为没有执行所需的运行时操作。

您应该在php.ini 文件中设置display_errors = 1重新启动服务器

【讨论】:

  • 我会在浏览器控制台中看到错误,对吧?我想我现在看不到它们,尽管我管理了我的 php.ini 文件。
  • 您将在浏览器本身中看到它们,而不是在控制台中。
  • 您使用的是什么平台/堆栈? (Windows/Linux?Apache/IIS?)
  • 空白页是否也会产生错误?:<?php echo 'Hello';
  • 如果无法修改 php.ini,只需将其添加到 .htaccess 文件中:php_flag display_errors 1
【解决方案2】:

尝试将所有错误写入文件。

error_reporting(-1); // reports all errors
ini_set("display_errors", "1"); // shows all errors
ini_set("log_errors", 1);
ini_set("error_log", "/tmp/php-error.log");

类似的东西。

【讨论】:

  • 所以我在我的 php 脚本中写了这些行,在它们的顶部?
  • @myadmins 是的,首先。你也可以在 php.ini 中设置。
猜你喜欢
  • 2013-02-23
  • 1970-01-01
  • 2019-04-13
  • 2013-06-29
  • 2012-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多