Прежде всего, спасибо всем за то, что подумали. После рассмотрения вашего совета я решил пропатчить ядро CI. К сожалению, основные классы могут быть расширены, но не само ядро. Поэтому, если вы применяете тот же патч, обязательно запишите его.
Здесь идет. В system \ application \ config \ config.php я добавил следующую настраиваемую настройку конфигурации прямо под настройкой log_treshold:
/*
|--------------------------------------------------------------------------
| Error Logging Exclusions (custom config addition by Ferdy Christant)
|--------------------------------------------------------------------------
|
| By default, CI will log all PHP errors, whether it is a notice, warning
| or error. Or, by setting the above treshold to 0, it will log nothing
| In most cases, however, you will want to log PHP errors but not the notices
| In the array below, simply place the PHP error constant that you do NOT
| want to see logged.
|
| For a live site you'll usually use the config as follow:
|
| $config['exclude_logging'] = array(E_STRICT,E_NOTICE);
|
*/
$config['exclude_logging'] = array(E_STRICT,E_NOTICE);
Как объясняется в документации, в этом конфигурационном массиве вы помещаете типы ошибок PHP, которые вы делаете НЕ , которые хотят войти.
Затем я исправил файл ядра (system / codeigniter / Common.php) и отредактировал функцию _exception_handler
Есть два изменения. Сначала я переместил строку загрузки конфигурации в начало метода, так как она мне нужна раньше. Найдите строку ниже, и вы увидите $ config = & get_config (); под ним. Удалить это.
Я удалил // Должны ли мы регистрировать ошибку? Нет? Мы закончили ...
Во-вторых, проверка на серьезность изменяется, чтобы проверить массив, который мы объявили. Перейдите к началу метода и замените оператор if, который проверяет $ severity == E_STRICT, следующим:
$config =& get_config();
if (in_array($severity,$config['exclude_logging']))
{
return;
}
Эти патчи позволяют детально контролировать логирование ошибок PHP. Нормальная регистрация CI, конечно, все еще будет работать. Как уже упоминалось, единственным недостатком является то, что это исправляет ядро.
Надеюсь, это кому-нибудь поможет. Спасибо, что подумали!