【问题标题】:Catch and debug sporadic 500 error捕获并调试零星的 500 错误
【发布时间】:2012-03-19 03:46:04
【问题描述】:

再试一次,因为我最初没有很好地表达这个问题 - 希望这次更好!

我正在尝试调试用户在我的网站上填写表单部分时偶尔会遇到的零星 500 错误。每当发生这种情况时,我都会尝试重新创建他们的环境并完全按照他们的方式填写表格,但永远无法重现问题。我已经检查了我正在使用的框架的应用程序日志,但它们没有报告与错误相关的任何内容。我希望这里有人可以帮助我抓住这个。这是有时会发生 500 错误的地方,这会触发用户报告的错误:

//In jquery AJAX function, which submits data to PHP form for processing 
error: function(data,transport){ 
$.validationEngine.debug("error in ajax response: "+data.status+" "+transport) 
}

有没有办法让我尝试找出这里的确切错误?问题是我无法重新创建错误,无论是使用 AJAX 调用还是不调用 PHP 脚本。我需要从被调用的 PHP 脚本中捕获错误响应,但是在尝试重新创建用户问题时,我从未收到错误,即相同的操作系统/浏览器/完全相同的表单答案。

该站点的 Apache 错误日志很少 - 除非我找错地方了。我在 CentOS 上,运行 locate error_log 并在我的网站的 vhosts 目录中获得了一个 error_log.txt 文件,但这只是包含一个 302 消息日志,没有别的。我也试过定位错误| grep mysite,它只显示提到的 error_log.txt 文件。

【问题讨论】:

  • 看看这是否有帮助:stackoverflow.com/questions/1349118/…
  • CentOS 中的 Apache 错误日志通常在 /var/log/httpd/error_log
  • 我看到了你之前的问题,我看不出这个问题有什么不同。您能否验证 php.ini 设置 log_errors 是否为 On 并发布您在 error_log 引用的文件中获得的内容?

标签: php apache error-handling


【解决方案1】:

根据这篇文章:http://www.phpro.org/examples/PHP-Errors-As-Exceptions.html 你可以使用 PHP 错误作为异常。

只需执行一个 try-catch 块并将错误输出到您的 ajax 数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-17
    • 1970-01-01
    • 2011-05-21
    • 2019-06-20
    • 2019-02-27
    • 2021-08-03
    相关资源
    最近更新 更多