Як побачитиусі помилки в CodeIgniter

Щоб відобразити всі помилки в CodeIgniter 2.1.2, потрібно:

1. Налаштувати файл php.ini. У Debian Squeeze цей файл знаходиться на шляху /etc/php5/apache2/php.ini . Потрібно знайти опцію display_errors і зробити її рівною On, ось так:

Також у цьому файлі треба перевірити опцію error_reporting і встановити їй такі значні:

Після цього треба перезапустити Apache2.

Примітка. Слід пам'ятати, що налаштування для запуску PHP з командного рядка можуть бути різними для PHP-скриптів, що запускаються з сервера Apache2. Налаштування запуску PHP-скриптів з командного рядка знаходяться у файлі /etc/php5/cli/php.ini.

2. У файлі index.php, який лежить у корені сайту, треба знайти команду встановлення значення визначення ENVIRONMENT :

Якщо значення дорівнює 'development', то буде увімкнено максимальний рівень виведення помилок E_ALL.

3. Далі, у файлі APPPATH/config/config.php треба виставити таку опцію:

Що відповідає максимальному рівню виведення помилок.

4. Щоб побачити помилки, пов'язані з роботою бази даних, треба у файлі APPPATH/config/database.php виставити опцію:

Усі вищенаведені налаштування частково збільшать виведення інформації про помилки. Однак, помилки ядра все одно будуть приховуватися, а також налаштування п. 4, як показує аналіз коду, ні на що не впливає.

Тому далі треба зробити таке. Тут не обійтися без правки ядра чи перевизначення класів ядра як своїх власних класів. Тут я описуватиму правку самого ядра.

function _exception_handler($severity, $message, $filepath, $line)

if ($severity == E_STRICT)

// if (($severity & error_reporting()) == $severity)

$_error->show_php_error($severity, $message, $filepath, $line);