PHP error_log работает только на отдельных скриптах

Настроить

  • IIS 8.5 на Windows 2012 Server
  • PHP менеджер
  • PHP 5.5
  • В файле php.ini включены значения log_errors

Я использовал менеджер PHP, чтобы выбрать мой файл журнала, и у меня есть несколько скриптов в моем приложении, где error_log() работает, как ожидалось. Однако ни один из новых скриптов, которые я создал, не может получить какой-либо вход в файл журнала с помощью error_log().

Другая странная проблема - один из сценариев, в котором работает error_log(), имеет несколько функций отправки уведомлений, которые error_logs уведомляют пользователей и т. Д. Это все работает нормально, если скрипт запускается напрямую, но если я пытаюсь включить этот скрипт в другой файл для использовать мои функции уведомлений, даже если эти функции выполняются правильно. Я знаю, что в этой функции больше нет сообщений error_log.

Я даже пытался добавить

error_reporting(E_ALL); 
ini_set('display_errors', 0); 
ini_set('log_errors', 1); 
ini_set('error_log', 'c:\Windows\Logs\PHP\php.log'); 

прямо в php-файлах я хочу войти и все равно ничего не получить.

1 ответ

Решение

Отключение error_logging в php.ini затем снова включив его, а также указав путь к новому файлу журнала в каталоге inetpub/temp/, сделал это. (Ранее это было в C:/Windows/logs/PHP)

Я понял, что единственные сценарии, где ошибки логирования, где те, где выполняются планировщиком задач. Я не уверен, что задание cron запускается как системный, а IIS или php - как другой пользователь без прав записи в эту папку.

Другие вопросы по тегам