я получил 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, такие как трассировка стека, профилирование и покрытие кода.