On one Linux Server running Apache and PHP 5, we have multiple Virtual Hosts with separate log files. We cannot seem to separate the php
error_log between virtual hosts.
Overriding this setting in the
<Location> of the
httpd.conf does not seem to do anything.
Is there a way to have separate php
error_logs for each Virtual Host?
This question is tagged with
~ Asked on 2008-08-01 18:37:40
To set the Apache (not the PHP) log, the easiest way to do this would be to do:
<VirtualHost IP:Port> # Stuff, # More Stuff, ErrorLog /path/where/you/want/the/error.log </VirtualHost>
If there is no leading "/" it is assumed to be relative.
~ Answered on 2008-08-01 19:58:45
If somebody comes looking it should look like this:
<VirtualHost *:80> ServerName example.com DocumentRoot /var/www/domains/example.com/html ErrorLog /var/www/domains/example.com/apache.error.log CustomLog /var/www/domains/example.com/apache.access.log common php_flag log_errors on php_flag display_errors on php_value error_reporting 2147483647 php_value error_log /var/www/domains/example.com/php.error.log </VirtualHost>
This is for development only since
display_error is turned on. You will notice that the Apache error log is separate from the PHP error log. The good stuff is in
Take a look here for the
error_reporting key http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting
~ Answered on 2010-08-26 15:29:29
I usually just specify this in an
.htaccess file or the
vhost.conf on the domain I'm working on. Add this to one of these files:
php_admin_value error_log "/var/www/vhosts/example.com/error_log"
~ Answered on 2008-08-02 01:10:41
The default behaviour for error_log() is to output to the Apache error log. If this isn't happening check your php.ini settings for the error_log directive. Leave it unset to use the Apache log file for the current vhost.
~ Answered on 2008-08-01 22:20:05
error_log to where your
syslog stuff goes,
eg /var/log/apache2, because they errors will get intercepted by
ErrorLog. Instead, create a
subdir in your project folder for logs and do
error_log "/path/to/project/logs". This goes for both
.htaccess files and vhosts. Also make sure you put
~ Answered on 2010-04-02 20:50:36
Yes, you can try,
php_value error_log "/var/log/php_log"
.htaccess or you can have users use
ini_set() in the beginning of their scripts if they want to have logging.
Another option would be to enable scripts to default to the
php.ini in the folder with the script, then go to the user/host's root folder, then to the server's root, or something similar. This would allow hosts to add their own
php.ini values and their own
~ Answered on 2008-09-22 23:29:15
php_value error_log "/var/log/httpd/vhost_php_error_log"
It works for me, but I have to change the permission of the log file.
or Apache will write the log to the its
~ Answered on 2009-07-02 23:54:59
Have you tried adding the
php_value error_log '/path/to/php_error_log to your VirtualHost configuration?
~ Answered on 2008-08-29 06:13:17
My Apache had something like this in httpd.conf. Just change the ErrorLog and CustomLog settings
<VirtualHost myvhost:80> ServerAdmin [email protected] DocumentRoot /opt/web ServerName myvhost ErrorLog logs/myvhost-error_log CustomLog logs/myvhost-access_log common </VirtualHost>
~ Answered on 2008-08-09 02:51:15
You can try:
<VirtualHost myvhost:80> php_value error_log "/var/log/httpd/vhost_php_error_log" </Virtual Host>
But I'm not sure if it is going to work. I tried on my sites with no success.
~ Answered on 2008-09-22 23:22:10
Create Simple VirtualHost:
127.0.0.1 thecontrolist.localhost in hosts file
<VirtualHost *> ServerName thecontrolist.localhost ServerAlias thecontrolist.localhost DocumentRoot "/xampp/htdocs/thecontrolist" <Directory "/xampp/htdocs/thecontrolist"> Options +Indexes +Includes +FollowSymLinks +MultiViews AllowOverride All Require local </Directory> </VirtualHost>
Don't Forget to restart Your apache. for more check this link
~ Answered on 2018-05-31 06:58:39