Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

We are getting "Allowed memory exhausted with PHP" where PHP is asking for Gigabytes of memory. How can I format the Apache error log to see which URL it was accessing ?

share|improve this question

1 Answer 1

up vote 2 down vote accepted

taken from the debian apache2.conf default file:

# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
# If you are behind a reverse proxy, you might want to change %h into %{X-Forwarded-For}i
#
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

See Apache 2 Manual for the meaning of the different format signs % or Apache 2 Manual ErrorlogFormat Directive for having the error log in a specific format since apache 2.4 aswell.

in short :

Define the output format in your main config file and the output file for example per vhost in the VirtualHost Directive. You can define the config file for all your sites in the main file aswell, if you want to.

something like would be needed to add (in case its not there yet):

    LogLevel warn

    CustomLog /var/log/apache2/access.log combined
    ErrorLog /var/log/apache2/error.log

Depending on your exact setup you might want to change the location slightly.

Dont forgot to logrotate them if you have a high traffic site.

Normally this should be (at least in debian) the default setting for how i remember it.

If you have empty logs you might want to check the permissions of the folder/files so that the user the apache2 process runs under can access and write to them.

Remember a reload of the process is (for what i know) needed for rereading the configuration files.

share|improve this answer
1  
Also discovered Apache 2.4 has "ErrorLogFormat" directive to specifically change it for ErrorLog. –  Rishav May 27 at 8:48
    
good to know, thanks for the info, i changed the answer to include your comment. –  Dennis Nolte May 27 at 8:55

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.