WordPress 5 WP REST路线-无错误

时间:2019-01-20 作者:dewd

我使用WP-JSON返回特定路由的JSON。

在WordPress 5之前,WP JSON会在响应中返回PHP错误,例如:。Notice:xxxWarning:xxx 遇到PHP错误时。由于我升级到WordPress 5,这样的错误被禁止/跳过,并返回JSON。致命错误按预期返回500。

我找不到任何文档来说明为什么这些错误没有被返回。谷歌似乎没有透露任何信息。有人知道发生了什么事吗?此外,如果它是“toggleable”,有人知道如何“打开错误”吗?

PHP像往常一样将错误输出到WordPress的其他地方。

1 个回复
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成

REST API应该始终返回JSON,因此可以对其输出进行解析。如果返回的JSON不正确,那么JS脚本可能会停止工作。

这就是为什么在这些请求中不应该打印错误的原因——这样的消息会破坏JSON响应并使其难以解析。

还有一些代码试图阻止此类消息的发生,但工作不正常。

这已在5.0中的bug中修复#44534.

您可以随时将此代码添加到您的方法中,id您真的(真的真的真的真的真的)确定您在做什么:

if ( true === WP_DEBUG ) @ini_set( \'display_errors\', 1 );
另外,您不应该在生产服务器上显示错误-这会危及您站点的安全。始终使用文件作为日志记录方法。(这也更容易)