使用Rest API时,我得到如下响应:
通知:无法将 156
行中的 abc.php 中的DateTime类的对象转换为int {“ success”:false ,“ message”:“某事。”}
我想要做的是将这些警告重定向到文件,但吐出有效的响应。像这样:
在debug.log中:
通知:在日期 156
实际响应(不包括HTML部分): {“成功”:false,“消息”:“某事。”}
我将标志设置如下: 尝试1:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', false);
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
第二次尝试是这样的:
ini_set('log_errors','On');
ini_set('display_errors','Off');
ini_set('error_reporting', E_ALL );
define('WP_DEBUG', false);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
没有工作。有什么建议么 ? 顺便说一句,我已经检查了Wordpress和PHP论坛以及stackoverflow论坛。他们都没有谈论这种情况(或者我没有遇到过)。
答案 0 :(得分:0)
您需要先关闭所有错误,可以使用以下方法完成:
error_reporting(0);
然后启用错误日志记录并提供日志文件的路径:
ini_set("log_errors", 1);
ini_set("error_log", "/tmp/php-error.log");
将其放在您的php文件的顶部。
答案 1 :(得分:0)
Your server did not allow to modify your ini settings.
So if you want to hide add error and notices you can add error_reporting(0); on config page.
// Turn off all error reporting
error_reporting(0);
Other options are available -
// Report simple running errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);
// Reporting E_NOTICE can be good too (to report uninitialized
// variables or catch variable name misspellings ...)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
// Report all errors except E_NOTICE
// This is the default value set in php.ini
error_reporting(E_ALL & ~E_NOTICE);
// For PHP < 5.3 use: E_ALL ^ E_NOTICE
// Report all PHP errors (see changelog)
error_reporting(E_ALL);
// Report all PHP errors
error_reporting(-1);
// Same as error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);