PHP не работает тихо, когда функция не определена? - PullRequest
1 голос
/ 17 мая 2010

Я мигрирую с PHP4 на PHP5

У меня есть это в моем .htaccess:

php_flag display_errors on
php_value error_reporting 2039

Который раньше показывал все ошибки.

Я все еще получаю некоторые ошибки, но раньше я получал ошибку, когда вызывал функцию, которая не была определена, но теперь она останавливается там, где она есть, и отправляет клиенту все до ошибки и ничего после. Без сообщения об ошибке.

Вот что говорит мне phpinfo:

Directive   Local Value Master Value
display_errors  On  Off
error_reporting 2039    6143

Я бы хотел видеть сообщения об ошибках в целях устранения неполадок.

Может кто-нибудь сказать мне, что мне нужно делать? Спасибо !!

Ответы [ 3 ]

5 голосов
/ 17 мая 2010

Если все не получается, просто поместите этот код в начало вашего (/ каждого) сценария:

error_reporting(E_ALL);
ini_set('display_errors', 1);
1 голос
/ 17 мая 2010

Я предполагаю, что ваша версия PHP 5> = = PHP 5.2.0 и что исходный уровень сообщения об ошибках был E_ALL & ~E_NOTICE (или E_ALL ^ E_NOTICE, оба имеют одинаковый результат).

До PHP 5.2.0 E_ALL имел значение 2047, поэтому ваш уровень ошибки был 2039 из-за отсутствия уровня E_NOTICE (8). Начиная с PHP 5.2.0 E_ALL изменено на 6143 (а с PHP 5.3.0 на 30719), что означает, что E_ALL & ~E_NOTICE больше не 2039, а скорее 6135 (или 30711 в PHP 5.3).

Что касается не отображения ошибок (вызов неопределенной функции должен быть фатальной ошибкой!), См. Другие ответы.

1 голос
/ 17 мая 2010

Это должно показать вам все сообщения:

ini_set('display_errors', true);
error_reporting(E_ALL);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...