gpt4 book ai didi

php - error_reporting(E_ALL)失败,没有日志或错误消息

转载 作者:行者123 更新时间:2023-12-03 07:52:51 28 4
gpt4 key购买 nike

我正在使用WordPress REST API,并且在我的主插件文件中设置了:

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

我有一些奇怪的行为。例如在函数/端点中,我有类似以下内容:
function test($request){
$request['id'] <- this works fine here

but if I add another function like this I get a silent error

$validID = check_id($request['id']);
}

因此,当我执行此操作时,从端点返回的内容为空,并且出现以下错误:
has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. 

现在,如果我将error_reporting设置为:
error_reporting(E_ERROR | E_WARNING | E_PARSE);

我的端点工作正常。不知道这里发生了什么。我没有任何php错误日志,这使解决问题变得异常困难。所以我不应该使用E_ALL吗?

我还通过省略半冒号来测试了端点。除了现在对error_reporting(E_ALL)和error_reporting(E_ERROR | E_WARNING | E_PARSE)都得到空响应外,我得到的结果相同。我很乐意获得某种日志/返回值来告诉我什么地方不对。

最佳答案

不幸的是,许多WordPress代码是在未启用WP_DEBUG的情况下编写的,这意味着没有E_ALL级别。结果,它往往充满通知和弃用问题,开发人员看不到,也不想去纠正。

因此,提高错误报告率通常可以触发与您的代码完全无关的问题。

由于您的直接问题是缺少明显的错误消息/日志,因此您应该尝试使用WP_DEBUG_DISPLAYWP_DEBUG_LOG配置来查看是否有帮助。

通常,最好使用常量来集中控制WP的错误处理。当扩展程序开始对此感到困惑时,那就是……一团糟。 :)

您可以尝试的另一件事是专用的错误处理程序。我制作并使用了wps插件,该插件包装了WP上下文的whoops处理程序。对于API错误,它会尝试覆盖输出并为发生的情况返回有意义的跟踪。

关于php - error_reporting(E_ALL)失败,没有日志或错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54884709/

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