代码错误导致admin-ajax.php 500错误

时间:2016-05-10 08:14:13

标签: ajax wordpress error-handling

我不知道这是否是WordPress最近更改的内容,但通常情况下,当我编写一个用作ajax调用操作的函数(在前端)时,如果我有一些错误在我的代码中(缺少;或未关闭的}或其他),我会在Chrome检查器的“网络”标签中返回我的ajax调用,当我选择{{1}时}并查看admin-ajax.phpPreview标签,我会看到写出的错误代码。

也许一个月前左右,当我的代码出错时(我在回调函数中使用了未定义的函数),我在检查器中得到的是500错误,指向我的Response代码$.ajax()脚本,带有此

enter image description here

无。我确信这是一个服务器问题,并将邮件发送给我的主机,询问他们。他们也不知道它是什么。最后我发现我可以用

编写我的错误消息
.js

在那里我看到我的回调函数中有一些错误。一旦我解决了这个问题,代码就可以了。

但问题是,通常我会在ini_set('log_errors',TRUE); ini_set('error_reporting', E_ALL); ini_set('error_log', dirname(__FILE__) . '/error_log.txt'); 标签(或Response)中看到错误。我看到它,修复它并且有效。

我之所以这样问是因为在某些服务器上,上面写入Preview的方法需要一段时间。我正在使用CentOS上的客户端服务器,错误日志出现在我的wp根文件夹中可能在错误发生后10分钟左右 - 这是不切实际的。

他们是否在关于ajax的核心文件中有所改变?

1 个答案:

答案 0 :(得分:0)

这与Wordpress的核心文件无关,没有任何改变。

默认情况下,

500错误在浏览器中不显示任何错误。这基于Web服务器配置,而不是wordpress安装。

通常在Web服务器的日志文件中找到500个错误,通常位于

  

/var/log/apache/error.log

  

/var/log/nginx/error.log

这些文件应该立即反映服务器上的任何错误。因此,如果您的服务器有shell / ssh连接,则可以使用如下命令:

tail -f /var/log/apache/error.log 

这将为您提供在文件发生时写入文件的任何内容的实时订阅源。

至于你的INI_SET,这些是设置PHP默认值的php命令。如果您不想手动设置这些,您可以使用这些变量更新服务器上的PHP.ini文件,它们将是服务器上所有站点的默认文件。

此外,在wordpress网站上进行开发时,您可以更新wp-config.php并将WP_DEBUG设置为true:

define('WP_DEBUG', true);