Назад | Перейти на главную страницу

Как я могу настроить Apache / PHP на моем VPS на отображение ошибок и предупреждений PHP?

я получил VPS с помощью Suse Linux 10.3.

Apache 2 / PHP 5.2.6 был настроен автоматически.

Когда я смотрю на это действительный файл PHP в браузере он отображает правильно:

<?php
echo 'this is test';
?>

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

<?php
nnn 'this is test';
?>

Через phpinfo () я обнаружил, что "загружено php.ini файл конфигурации "находится по адресу /etc/php5/apache2/php.ini и в этом файле я нашел эту раскомментированную строку:

error_reporting  =  E_ALL

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

Что еще мне нужно сделать, чтобы PHP показывал ошибки?

display_errors = On

?

Обычно веб-приложения регистрируют ошибки в журнале ошибок Apache. Это файл, указанный в соответствующей настройке ErrorLog для вашего сервера или раздела виртуального хоста. Приложения PHP будут отправлять туда журналы, но это не совсем самые доступные или полезные журналы; ваш журнал может потеряться между другими ошибками. PHP можно настроить для ведения журнала в отдельном файле журнала, но это не сильно отличается от записи в журнал ошибок Apache. Вы можете настроить Apache для регистрации ошибок в браузере, используя

display_errors = On

в вашем php.ini. При этом в вашем браузере появятся строки журнала. Вам действительно не следует использовать эту опцию в производственной системе. Если вам нужно совместить производственные приложения и приложения для разработки в одной системе, вы можете использовать:

ini_set("display_errors","On");

в верхней части ваших php-файлов разработки.

Параметр error_reporting изменяет то, что сообщает PHP.

Вы можете сделать лучше. XDebug - это расширение PHP, которое добавляет некоторые очень полезные функции разработки PHP, такие как трассировка стека, профилирование и покрытие кода.