PHP не покажет никаких ошибок - PullRequest
3 голосов
/ 30 сентября 2010

Вот мой код:

echo 'foo';

error_reporting(E_ALL);

echo 'this line doesnt end in a semi colon'

echo 'i should get an error here';

Когда я запускаю это, я не получаю ошибки.

Не уверен, как это может быть?

Ответы [ 3 ]

12 голосов
/ 30 сентября 2010
ini_set('display_errors', 1);

Обратите внимание, что если вы сделаете это в файле с синтаксической ошибкой, он не будет работать, так как он никогда не будет выполнен.Вы также можете установить это значение в php.ini (не рекомендуется для рабочих серверов) или, если вы используете Apache, в .htaccess с:

php_flag display_errors 1
2 голосов
/ 30 сентября 2010

директива error_reporting не поможет вам отображать сообщения об ошибках на экране. Он отвечает за , который ошибка, чтобы показать, а не , где .

если ваш PHP работает как модуль Apache (скорее всего, так и есть), добавьте следующую строку в .htaccess файл:

php_value display_errors 1

при переключении на производство измените его на

php_value display_errors 0
php_value log_errors 1

и посмотрите их в журнале ошибок.

0 голосов
/ 30 сентября 2010

Есть ли у вас какие-либо ловушки завершения работы, функции обработки ошибок или глобальные ловушки исключений?

Синтаксические ошибки могут быть странными в больших системах:)

...