PHP через CLI успешно регистрирует ошибки в /var/log/php _errors.log.
Но apache + php не регистрирует ошибки.
[[email protected] ~]$ apachectl -v
Server version: Apache/2.2.17 (Unix)
Server built: May 19 2011 03:15:39
[[email protected] ~]$ php -v
PHP 5.3.6 with Suhosin-Patch (cli) (built: Mar 23 2011 13:28:00)
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies
В php.ini у меня есть:
display_errors = On
error_reporting = E_ALL | E_STRICT
log_errors = On
error_log = php_errors.log
В httpd.conf:
ErrorLog "/var/log/httpd/error_log"
Права доступа:
[[email protected] /]$ ls -la /var/log/httpd/
-rwxrwxr-x 1 root root 133351 21.11.2011 11:18 access_log*
-rwxrwxr-x 1 root http 1307 21.11.2011 11:18 error_log*
[[email protected] /]$ ls -la /var/log/php_errors.log
-rwxrwxr-x 1 root http 521 14.11.2011 17:31 /var/log/php_errors.log*
Как видите, у демона Apache есть права на запись в файлы журнала.
По-прежнему нет ошибок с Apache или PHP в /var/log/php _errors.log и/var/log/httpd/error_log.
ОБНОВЛЕНИЕ 1.
Изменена эта строка в php.ini:
error_log = php_errors.log
до полного пути:
error_log = /var/log/php_errors.log
Разрешения были в порядке. Но если у кого-то также есть проблемы с этим, вы можете отлаживать настройки разрешений для файла журнала 0777 или изменять владельца файла.