WordPress — Перенаправить предупреждение / уведомления о сообщениях в файл

При использовании 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. Никто из них не говорит об этом сценарии (или я не сталкивался).

0

Решение

Сначала необходимо отключить все ошибки, которые можно сделать, используя:

error_reporting(0);

Затем включите ведение журнала ошибок и укажите путь к файлу журнала:

ini_set("log_errors", 1);
ini_set("error_log", "/tmp/php-error.log");

Поместите это вверху вашего php-файла.

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);
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector