отчеты об ошибках в определенных папках - PullRequest
2 голосов
/ 26 июня 2009

Есть ли способ установить error_reporting(E_ALL); для определенного каталога, а не включать его в каждый файл?

Я хотел бы включить отчеты об ошибках для своего beta.mysite.com

Ответы [ 4 ]

6 голосов
/ 26 июня 2009

Вы можете использовать файл .htaccess в Apache . Просто добавьте эту строку:

php_value error_reporting 6143

Или для старых версий PHP:

php_value error_reporting 2047

Обратите внимание, что вы не можете использовать константы (например, E_ALL)

С инструкция :

Примечание. PHP-константы вне PHP

Использование констант PHP вне PHP, как в httpd.conf, не будет полезный смысл, поэтому в таких случаях целочисленные значения обязательны. И с тех пор уровни ошибок будут добавляться со временем, максимальное значение (для E_ALL) будет скорее всего изменится. Так что вместо E_ALL рассмотреть возможность использования большего значения для покрытия все битовые поля отныне и хорошо в будущее, числовое значение, как 2147483647.

3 голосов
/ 26 июня 2009

Используйте файл .htaccess для установки опции.

<IfModule mod_php5.c>
  display_errors 1
</IfModule>

Теперь, естественно, это работает, только если вы используете Apache в качестве модуля.

Если вы хотите добавить опцию конфигурации при использовании CGI, ваши возможности будут ограничены.

Пара идей:

  • Включение чего-либо в каждый скрипт.
  • Более экзотично: используйте правило перезаписи, которое указывает на известный скрипт в каталоге, который использовал обычный аргумент в стиле set_ini, а затем включает предполагаемый скрипт, проверяя путь. У меня плохие правила переписывания, но я знаю, что это можно сделать.
1 голос
/ 26 июня 2009

Просто небольшое замечание: помещение инструкций PHP в .htaccess работает, только если PHP установлен как модуль Apache. С PHP, установленным как CGI, все, что вы получаете - это 500 Internal server error.

0 голосов
/ 07 ноября 2009

для режима CGI вы должны использовать php.ini для достижения этого

...