суть проблемы. php невозможно заставить писать в syslog по человечески, потому что при вызове syslog(3) не инициализируется facility. из-за этого все сообщения об ошибках от php попадают в /var/log/messages, который недоступен для чтения непривелигированному пользователю. патч в аттаче вроде как добавляет недостающую функциональность. после прикладывания патча, facility можно (и нужно) регулировать в php.ini. error_log_facility = LOCAL[0-7] по умолчанию facility = LOG_LOCAL0 после этого можно: 1. создать, например, /var/log/php; 2. прописать в php.ini (для php-cli) error_log_facility=LOCAL5; 3. в /etc/syslog.conf local5.=notice -/var/log/php/info 4. дать пользователю права на чтение /var/log/php/info.
Created attachment 785 [details] syslog facility patch
Эх... кг/ам. error_log_facility парсится при каждом вызове php_log_error, даже если error_log != "syslog". openlog делать не надо - достаточно в вызове syslog вместо LOG_NOTICE использовать LOG_NOTICE|facility
и правда :) сейчас поправлю.
Created attachment 786 [details] syslog facility patch часть вторая.
наслушавшись мудрых советов raorn@ патч переделал и приаттачил.
Согласен с вами. В следующей сборке приложу этот патч.
в updates для alm24 это попадёт ? или с такими вопросами надо к lakostis@ ?
вроде работает.