我想在分离的文件中记录apache2和php错误:
我在:/var/log/apache2/mydomain.com
中创建了一个目录。这是存储日志文件的位置。
我编辑了/etc/apache2/sites-available/mydomain.com.conf
:
<VirtualHost *:80>
ServerName mydomain.com
ServerAdmin webmaster@localhost
ServerAlias mydomain.com
DocumentRoot /var/www/mydomain.com/public
php_flag display_errors Off
php_flag log_errors On
php_value log_errors_max_len 0
php_value error_reporting 6135
ErrorLog /var/log/apache2/mydomain.com/mydomain.com.error.log
CustomLog /var/log/apache2/mydomain.com/mydomain.com.access.log common
php_value error_log /var/log/apache2/mydomain.com/mydomain.com.php.error.log
<Directory "/var/www/mydomain.com/public">
Options FollowSymLinks
AllowOverride All
</Directory>
重要设置:
但是没有创建文件:mydomain.com.php.error.log
,而是将所有PHP错误添加到mydomain.com.error.log文件中。
apache2能够写入目录:/var/log/mydomain.com
(已测试,如果我删除文件:mydomain.com.error.log
。它将被重新创建)
我的.htaccess
文件中没有与日志相关的设置:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteCond %{REQUEST_URI}::$1 ^(/.+)(.+)::\2$
RewriteRule ^(.*) - [E=BASE:%1]
RewriteRule ^(.*)$ %{ENV:BASE}index.php [NC,L]
当我编辑/etc/apache2/sites-available/mydomain.conf
文件时,我之后运行:sudo service apache2 restart
。
您是否看到任何错误或有什么原因可能无效?
答案 0 :(得分:0)
php_value error_log /var/log/apache2/mydomain.com/mydomain.com.php.error.log
php_value
仅在apache下启用php时才有效,即mod_php
。以下建议可能有所帮助。