Я только что попробовал простой привет, мир с отсутствующей точкой с запятой, и у меня пустая страница.
Есть идеи, почему PHP отказывается отображать ошибки?
Скрипт без ошибок работает отлично.
Кроме того, я помню, как где-то читал, что есть пример файла конфигурации, который поставляется с Apache или PHP, который необходимо переименовать, чтобы удалить .sample или что-то в этом роде.
Поскольку я не очень хорошо разбираюсь в администраторах серверов, я бы предпочел использовать любой образец Apache / PHP. Где я могу найти этот образец конфигурации? Возможно, это исправит (и другие проблемы еще не появились).
PHP-скрипт, с которым я тестирую (отсутствует точка с запятой)
<?php
echo "Hello"
echo "sup";
?>
В /etc/php5/apache2/php.ini вам нужны оба
display_errors = On
error_reporting = E_ALL | E_STRICT
а может даже
display_startup_errors = On
E_STRICT не является строго необходимым, но я думаю, что лучше всего сообщать и о них.
Однако вам следует делайте это только на сервере разработки. Отображение ошибок может привести к проблемам безопасности, таким как утечка паролей. Вы можете установить эти значения в разделе конфигурации вашего веб-приложения - в зависимости от того, является ли веб-сервер сервером разработки или производственным.
if ($_SERVER['SERVER_NAME'] == 'my.production.url') {
ini_set('display_errors', false);
}
else {
ini_set('display_errors', true);
}
Обратите внимание, что $ _SERVER ['SERVER_NAME'] может быть ненадежным, если виртуальный хостинг настроен таким образом, что вы также можете загружать веб-сайт через IP-адрес. В этом случае замените альтернативный тест, который работает в вашей среде (например, получение имени хоста сервера или тестирование, чтобы увидеть, является ли REMOTE_ADDR localhost).
Устанавливать display_errors = On
в /etc/php5/apache2/php.ini.