Включение "E_ALL" (ошибки) в php.ini

Я включил ошибки в php.ini удалив ; перед комментарием в строке 240 php.ini (Я использую PHP 5.4.4).

Я использую MAMP для локального сервера, чтобы настроить локальную среду, и я изменил php.ini настройки в Приложениях> MAMP> bin> php5.4.4> conf> php.ini (это на OS X 10.8).

Я все еще получаю ошибки пустого экрана, когда мой PHP неправильный, что довольно часто, как я только начал с этим. Это правильное место / способ установить ошибки?

3 ответа

Решение

Строка, которую вы отредактировали, является комментарием, а не директивой. Файл PHP.ini содержит много информации, которая может вам помочь, большая часть предназначена только для чтения, а не для компьютера.

Вы должны убедиться, что следующие строки не закомментированы (не имеют ; в начале строки) и имеют правильные значения:

display_errors = On
html_errors = On
error_reporting = E_ALL

Они не обязательно будут присутствовать и комментироваться. В моей системе, например, display_errors линия выглядела так:

display_errors = Off

То, что вы откомментировали, было строкой, объясняющей некоторые опции PHP.ini. Это там, чтобы объяснить людям, как настроить файл. Нормальные параметры имеют формат (обратите внимание на =):

option_name = option_value

Как видите, отредактированная строка не имеет этого формата. Эквивалентная строка в моей системе выглядит так:

; E_ALL             - All errors and warnings (includes E_STRICT as of PHP 5.4.0)

Раскомментирование этой строки не поможет. На самом деле, я удивлен, что PHP будет работать без комментариев.

Вы смотрели на это?

Включить отчеты об ошибках PHP в MAMP | Гилберт Пеллегром

  • Открыть /Applications/MAMP/bin/php/{your PHP version}/conf/php.ini,
  • найти display_errors = Off (вокруг строки 277) и измените его на display_errors = On,
  • Перезапустите MAMP.

E_ALL в php.ini - это уровень по умолчанию для сообщений об ошибках. Это может быть переопределено функцией с именем "error_reporting" в файле.php. И если этот файл запущен или включен из запущенного скрипта, он переопределит уровень по умолчанию. Вы можете найти функцию "error_reporting" в этих файлах и убедиться, что уровень не ниже E_ALL.

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