我的一些使用Google Chrome或Firefox的用户遇到内部服务器错误,一旦他们清除了我的网站的缓存,错误就会消失。我在一年多前遇到过这个问题,但转向另一个主机"固定"它,但现在问题又回来了。
以下是最近完成的事情(不确定是否有任何一个,全部或全部都没有):
当然我可以告诉我的用户清除他们的缓存,但我也想了解可能导致此问题的原因或可能导致此行为的可能性(由于只有部分用户受到影响,因此很难调试)
答案 0 :(得分:3)
1 - 检查您的日志。如果没有任何错误日志,则启用服务器上的日志记录。查看https://book.cakephp.org/3.0/en/core-libraries/logging.html以使用CakePHP日志记录,或检查服务器的文档以启用服务器上的日志记录。
2 - 您可以尝试使用try / catch块将错误发送给用户,然后用户可以向您提供更具体的错误消息。进入主PHP文件并将所有内容包装在
中try {
...... (your PHP code here) ......
} catch(Exception $e) {
die($e->getMessage());
}
如果错误与PHP可以捕获的异常有关,则错误消息将回显给用户。如果您不想将其回显给用户(可能存在一些安全问题),那么您可以将$e->getMessage()
写入日志文件,以便只有您才能看到它。
答案 1 :(得分:1)
PHP会话似乎是错误的:
修正了托管时的问题。(新服务器意味着新的或默认的会话配置)
修改您的PHP会话配置和CakePHP会话配置(可能将其添加到问题可能有帮助)。 ¿您使用的是Memcached还是类似的?