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

директива 'catch_workers_output = yes' не работает так, как я хочу

У меня CentOS 7 с apache 2.4.35 с событием pmp и php-fpm

все работает нормально, но все ошибки php попадают в один большой файл для всех моих виртуальных хостов.

Я прочитал все документы об этом и обнаружил, что

catch_workers_output = yes

может мне помочь. Я думаю, что эта директива отправляет все ошибки php в файл журнала apache, но безуспешно.

Я действительно не знаю, что мне теперь делать.

вот мой php.conf

<Proxy "unix:/var/run/php-fpm/default.sock|fcgi://php-fpm">
 # we must declare a parameter in here (doesn't matter which) or it'll not register the proxy ahead of time
 ProxySet disablereuse=off
</Proxy>
# Redirect to the proxy
<FilesMatch \.php$>
    SetHandler proxy:fcgi://php-fpm
</FilesMatch>

#
# Allow php to handle Multiviews
#
AddType text/html .php
#
# Add index.php to the list of files that will be served as directory
# indexes.
#
DirectoryIndex index.php

ProxyErrorOverride on

p.s. Я думаю, что отдельный пул для каждого сайта решит проблему, но я думаю, что он действительно получит больше памяти, потому что каждый пул должен создавать пустые слоты, чтобы начать обслуживание ...

Я обнаружил, что если я закомментирую эту строку в файле /etc/php-fpm.d/www.conf

php_admin_value[error_log] = /var/log/php-fpm/www-error.log

как здесь:

;php_admin_value[error_log] = /var/log/php-fpm/www-error.log

все ошибки php попадают в файлы журнала apache (индивидуально для каждого сайта)

Нет необходимости трогать catch_workers_output . Оставьте это закомментированным!

;catch_workers_output = no