Intereting Posts

Как изолировать нежелательные сообщения об ошибках PHP?

Я использую wamp и должен знать, почему я получаю сообщения об ошибках сервера во всех браузерах. (см. захват). Я отключил отображение ошибок в php.ini и не вижу нигде в файле httpd.conf, который будет отображать их. Я был бы признателен за помощь в устранении этой проблемы. Если кому-то понадобится дополнительный код или информация, я с удовольствием поставлю его на скрипке.

Я использую php5.3.5 и apache 2.0.53.

благодаря

введите описание изображения здесь

display_errors изменен PHP_INI_ALL ( документация ).

Это означает, что он может быть включен в .htaccess или в запущенном скрипте с использованием ini_set() . Проверьте файлы .htaccess; обратите внимание, что сервер (в конфигурации по умолчанию) также проверяет файлы .htaccess в родительских каталогах, поэтому, если ваш сайт находится в /var/www/example.com/htdocs , проверьте .htaccess в каждой из каталогов этого пути.

Вы уверены, что display_errors не устанавливается во время выполнения некоторой функцией в вашем коде? ini_set можно использовать для установки этого значения во время выполнения, как показано в этом примере PHP doc:

 <?php echo ini_get('display_errors'); if (!ini_get('display_errors')) { ini_set('display_errors', 1); } echo ini_get('display_errors'); ?> 

я отключил отображение ошибок в php.ini

Вы проверили, что файл php.ini, который вы изменили / проверил, был тем, который использует PHP? (показано phpinfo ())

Вы перезапустили веб-сервер после изменения файла php.ini?

Какой захват? Если приведенные выше q не решают проблему, предоставьте текст сообщения об ошибке.

похоже, что вы используете zend framework. если вы не хотите показывать сообщения об ошибках. (в любом случае выключение ошибок не исправит их)

вариант 1. изменить среду приложения. отредактируйте файл bootstrap (в общедоступном каталоге), найдите следующие строки

 defined('APPLICATION_ENV') || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'development')); 

следующему

 defined('APPLICATION_ENV') || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production')); 

вариант 2. отредактируйте файл application.ini (в каталоге application / configs). измените все phpSettings.display_errors = 1 на phpSettings.display_errors = 0.

в любом случае я рекомендую использовать вариант 2.

но помните, что выключение ошибок не исправит их. если вы разместите свой код, мы можем помочь.

Из комментария OP:

В файле php info display_errors отображается как включенное. В файле php.ini он отключен:; display_errors = On. почему это происходит. Я проверил несколько файлов ini, но вижу только 1.

Если параметр закомментирован в php.ini , он не отключен: это означает «использовать значение по умолчанию». IIRC, по умолчанию здесь On . Добавьте строку display_errors = Off в php.ini.