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 - как другой пользователь без прав записи в эту папку.