Я не могу указать собственный журнал ошибок в PHP - PullRequest
2 голосов
/ 12 февраля 2011
ini_set('error_log', $custom_error_log_location);  
print ini_get('error_log');

Результат кода выше? Ничего такого! Он буквально ничего не печатает как значение ini_get('error_log'). Я запускаю это на сервере Apache. Я исследовал конфигурацию Apache для моего сайта. Конфигурация Apache имеет собственную настройку журнала ошибок через директиву ErrorLog. Дело в том, что на этом же сервере я запускаю другой веб-сайт с аналогичной конфигурацией Apache, и на этом сайте я МОГУ указать собственный журнал ошибок в PHP.

Я также проверил файл php.ini сайта. Ничего там нет. Я хочу знать, есть ли какая-либо конфигурация в Apache или php.ini, которая помешала бы мне изменить местоположение файла журнала ошибок?

Ответы [ 3 ]

3 голосов
/ 13 февраля 2011

Если действуют safe_mode или open_basedir, ini_set("error_log") ограничивается этими настройками (поскольку вы можете записать что-либо в открытый файл с помощью error_log()).

Ограничение распространяется на обе среды выполненияи .htaccess, но вы можете использовать директиву php_value, чтобы установить ее в файле конфигурации виртуального хоста.

1 голос
/ 13 февраля 2011

Оказывается, у меня было safe_mode, вот и все.

1 голос
/ 12 февраля 2011

Настройка error_log относится к PHP_INI_ALL, который можно установить где угодно.Так что не должно быть ничего плохого в вашем коде.

Если "ничего не печатается как значение ini_get('error_log')", это может быть ваш $custom_error_log_location пустой или нулевой, я бы предложил var_dump() на $custom_error_log_location и ini_get('error_log') для отладкивместо печати. ​​

...