网站没有显示错误,只有 500 页

网站没有显示错误,只有 500 页

我已将一些代码从开发转移到生产,但它无法运行,所以我试图调试,但就我而言,我无法访问错误来找出问题所在。

我已尝试在 Plesk 仪表板中设置error_reporting、、、CodeIngniter 的引导程序以及我正在调用的函数,但仍然没有显示任何错误。display_errorslog_errorsphp.ini.htaccessindex.php

服务器是 VPS Red Hat/CentOS,使用 Apache 的 Plesk。网站基于 CodeIgniter 和 Doctrine 构建。

我是否遗漏了什么?

答案1

执行whichapache,对于 plesk apache,我猜测它位于 /usr/local/psa/

答案2

你基本上问错了问题。

正确的问题不是如何从 Apache 获取错误消息,而是如何从 CodeIgniter / PHP 获取错误消息。

我不知道 CodeIgniter,但类似的框架是这样工作的:它会检测它是在本地主机(开发)机器上运行还是在服务器(生产机器)上运行。如果它在开发机器上运行,它会启用错误报告,否则它会禁用它。因此它会覆盖您的设置(无论它在哪里(php.ini等等.htaccess)。

因此你应该检查如何在 CodeIgniter 中启用生产机器上的错误报告或者如何在 CodeIgniter 中的生产机器上手动将环境设置为“开发”反而。

例如检查StackOverflow 上的这个问题。确实有我所描述的内容。也许(暂时)将环境设置为“开发”就足够了。

解决问题后,不要忘记将其设置回“生产”!(或者不要忘记根据您要执行的操作禁用错误报告)

答案3

我弄清楚了问题所在。我设法在 Plesk 深处找到了更多日志,我不知道它们在文件系统的什么位置,但它们指出了进程超时。

Plesk 使用 Nginx 和 fastcgi,它超时并通过 Apache 抛出错误。我增加了 fastcgi 和 Nginx 的超时时间,这样错误就不会再出现了。

感谢大家的帮助。

答案4

重新启动 Apache 服务器并检查

/sbin/service httpd restart

相关内容