Как увидеть трассировку / дамп стека ошибок PHP?

В настоящее время мое веб-приложение может распечатать ошибку, когда хост на моем локальном компьютере.

Когда я размещаю его на сервере Amazon EC2. Страница ошибки пуста / пуста.

Я хочу увидеть трассировку стека ошибок при запуске на EC2, как я могу это сделать?

Я использую Ubuntu Natty 11.04 и LAMP Stack на своем EC2.

2 ответа

Решение

Можете ли вы опубликовать содержимое php.ini? Это похоже на проблему конфигурации. Нам нужно проверить, что веб-сервер может найти журнал ошибок, который вы определили в php.ini, и что у веб-сервера есть права на запись в него. PHP молча терпит неудачу, если любое из условий не выполняется...

Откройте файл php.ini и измените следующие директивы, чтобы он выглядел следующим образом.

display_errors = On
error_reporting = E_ALL

Затем перезапустите Apache и сделайте что-нибудь, чтобы вызвать ошибку, например, вызов вручную trigger_error('Test'); на странице.

Вы должны знать, что это плохая практика для производственного веб-сайта. Эти настройки хороши в dev, где вы хотите, чтобы ошибки были очевидными, но для производства вы должны регистрировать ошибки в файле, который вы просматриваете. Этот файл журнала определяется с error_log директивы.

Другие вопросы по тегам