При использовании API Rest я получаю ответы, подобные следующим:
уведомление: Объект класса DateTime не может быть преобразован в int в abc.php онлайн 156
{«success»: false, «message»: «Что-то нехорошее.»}
То, что я хочу сделать, это перенаправить эти предупреждения в файл, но выложить правильный ответ. Что-то вроде этого:
В debug.log:
уведомление: Объект класса DateTime не может быть преобразован в int в abc.php онлайн 156
Фактический ответ (без части HTML):
{«success»: false, «message»: «Что-то нехорошее.»}
Я установил флаги следующим образом:
Попробуйте 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. Никто из них не говорит об этом сценарии (или я не сталкивался).
Сначала необходимо отключить все ошибки, которые можно сделать, используя:
error_reporting(0);
Затем включите ведение журнала ошибок и укажите путь к файлу журнала:
ini_set("log_errors", 1);
ini_set("error_log", "/tmp/php-error.log");
Поместите это вверху вашего php-файла.
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);