Назад | Перейти на главную страницу

Заставить процесс PHP FastCGI записывать в конкретный журнал ошибок?

У меня есть сервер, на котором запущен Lighttpd с тремя обслуживающими доменами пользователей. Каждый пользователь получает собственный процесс PHP FastCGI для обслуживания содержимого PHP во всех своих доменах. Lighttpd позволяет мне записывать файлы журнала доступа для каждого домена в уникальные файлы журнала. я также хотите записывать ошибки PHP в три разных файла журнала (по одному для каждого пользователя).

Каждый процесс PHP читает свой собственный php.ini (это было проверено просмотром phpinfo() вывод). Каждый php.ini определяет файл журнала, в который он должен записывать. Например:

error_reporting = E_ALL & ~E_NOTICE
display_errors = 0
log_errors = 1
html_errors = 0
fastcgi.logging = 1
error_log = /var/www/vhosts/example.com/logs/php_errors.log

Если я установлю fastcgi.logging = 1 затем ошибки PHP для всех трех пользователей, всегда перейдите в журнал ошибок Lighttpd. Если я установлю fastcgi.logging = 0 тогда ошибки PHP записываются в системный STDERR. В этом случае я могу перенаправить STDERR для каждого процесса FastCGI в любой файл, который мне нравится, но я теряю отметку времени на ошибках (что далеко не идеально).

Итак, как включить правильное ведение журнала ошибок для моих процессов PHP FastCGI через Lighttpd?

Lighttps поддерживает только один журнал ошибок. Но это может быть программа!

Поэтому попробуйте войти в свой собственный сценарий, который разбивает журнал ошибок на основе ваших собственных критериев. Синтаксис:

server.errorlog = "|/path/to/script"