gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 04:41:28 24 4
gpt4 key购买 nike

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

可能大约一个月前,当我的代码出现错误时(我在回调函数中使用了未定义的函数),我在检查器中得到的只是指向 $.ajax() 的 500 错误 我的 .js 脚本中的代码,用这个

enter image description here

没有。我确定这是服务器问题,并向我的主机发送邮件,询问他们。他们也不知道那是什么。最后我发现我可以用

来写我的错误信息
ini_set('log_errors',TRUE);
ini_set('error_reporting', E_ALL);
ini_set('error_log', dirname(__FILE__) . '/error_log.txt');

然后我看到我的回调函数有一些错误。一旦我解决了这个问题,代码就可以工作了。

但问题是,通常我会在我的 Response 选项卡(或 Preview)中看到错误。我会看到它,修复它并且它起作用了。

我问这个是因为在某些服务器上,上述写入 error_log.txt 的方法需要一段时间。我在 CentOS 上的客户端服务器上工作,错误日志可能在错误发生后 10 分钟左右出现在我的 wp 根文件夹中 - 这是不切实际的。

他们是否更改了核心文件中有关 ajax 的内容?

最佳答案

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

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

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

/var/log/apache/error.log

/var/log/nginx/error.log

这些文件应该在发生错误时立即反射(reflect)在服务器上。所以如果你有一个 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);

关于ajax - 代码错误导致 admin-ajax.php 500 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37132785/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com