Intereting Posts
Как заполнить выпадающий список из базы данных в Codeigniter? Ограничить доступ к файлам – только чтение через PHP Получите ограниченную текстовую выдержку из сообщения WordPress? Ошибка Apache Родитель: дочерний процесс завершен со статусом 3221225477 – Перезапуск Как войти в систему с помощью Curl и SSL и файлов cookie Как изменить свой часовой пояс с помощью метода gmdate? PHP Функция поиска с несколькими критериями – PHP / MySQL Определите, является ли строка допустимым географическим местоположением PHP – Неустранимая ошибка: неподдерживаемые типы операндов Недопустимый номер параметра: количество связанных переменных не совпадает с числом токенов в Доктрине Получить часть строки, если с условным префиксом Не удается получить право кодирования в MySQL php pg_query не работает? Преобразование строки из 1s и 0s в двоичное значение, затем сжимать потом, PHP Какая структура PHP с Twitter Bootstrap

Zend Framework – отображаются не все ошибки

В методе действий у меня есть следующий фрагмент кода:

error_reporting(E_ALL); ini_set('display_errors', '1'); Logger::log('test'); 

Класс Logger определяется следующим образом:

 class Logger { public static function log() { echo "test"; } 

Я сознательно забыл о закрытии фигуры функции, чтобы продемонстрировать проблему. Когда действие вызывается, абсолютно ничего не отображается на экране. Какая ошибка это и почему она не отображается, хотя я настроил PHP, чтобы показать все ошибки, как показано выше?

Конечно, если я добавлю недостающую фигурку, все будет в порядке.

Вы также должны включить display_startup_errors для отображения фатальных ошибок:

Даже когда display_errors , ошибки, возникающие во время запуска PHP, не отображаются. Настоятельно рекомендуется отключить display_startup_errors , кроме отладки.

Также см. Примечание для display_errors :

Хотя display_errors могут быть установлены во время выполнения (с помощью ini_set() ), это не повлияет, если скрипт имеет фатальные ошибки. Это связано с тем, что желаемое действие во время выполнения не выполняется.

Вы можете установить оба значения в приложении application.ini Zend Framework. На стороне: если вы установите error_reporting(-1) он сообщит (!) Все ошибки, включая E_STRICT и любые будущие дополнения.

У меня точно такая же проблема – мне не удалось полностью ее решить, но я обнаружил, что все ошибки правильно записываются в файл, даже если они не отображаются.

Просто поместите эти строки в конфигурацию .htaccess / server:

 php_value log_errors On php_value error_log "/path_to_logs/errors.log"