Как включить все ошибки и предупреждения и записать их в файл, но настроить все это внутри скрипта (ничего не меняя в php.ini)?
Я хочу определить имя файла, чтобы все ошибки и предупреждения регистрировались в нем.
php
error-handling
Gorep
источник
источник
ini_set
работает только если этот код выполняется. Бесполезно для кода с ошибками разбора, потому что ошибка будет до выполнения кода. Вместо этого запишите эти изменения в php.ini.php_flag log_errors on php_value error_log /home/path/public_html/domain/PHP_errors.log
. Смотрите perishablepress.com/…tmp/php-error.log
которой когда-либо хотели?Видеть
error_log
- отправить сообщение об ошибке куда-нибудьпример
Вы можете настроить обработку ошибок с помощью своих собственных обработчиков ошибок, чтобы вызывать эту функцию для вас всякий раз, когда возникает ошибка или предупреждение, или что вам нужно для регистрации. За дополнительной информацией обращайтесь к главе «Обработка ошибок» в руководстве по PHP.
источник
Просто поместите эти коды в начало вашего файла PHP / index:
источник
display_errors
НИКОГДА не включать на работающем производственном сервере - эта директива предназначена специально для вывода пользователю и не влияет на ведение журнала. php.net/manual/en/…добавьте этот код в .htaccess (в качестве альтернативы функции php.ini / ini_set ):
* как прокомментировано: это для серверов типа Apache , а не для Nginx или других.
источник
Это моя личная короткая функция
источник
Посмотрите на
log_errors
опцию конфигурации в php.ini. Кажется, делать то, что вы хотите. Я думаю, что вы можете использоватьerror_log
опцию, чтобы установить свой собственный файл журнала тоже.Когда
log_errors
директива установленаOn
, любые ошибки, сообщаемые PHP, будут записываться в журнал сервера или в файл, указанный с помощьюerror_log
. Вы можете установить эти параметрыini_set
тоже, если вам нужно.(Обратите внимание, что
display_errors
должен быть отключен в php.ini, если эта опция включена)источник
display_errors
быть отключено, если вы включаетеlog_errors
? По моему мнению, не имеет смысла. :)Кроме того, вам нужна директива «AllowOverride Options», чтобы это работало. (Apache 2.2.15)
источник