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

PHP не показывает ошибки при новой установке Apache / PHP на сервере Ubuntu

Я только что попробовал простой привет, мир с отсутствующей точкой с запятой, и у меня пустая страница.

Есть идеи, почему 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.