Aggiunta di "URL" accessibile al log degli errori Apache

Stiamo ottenendo "Memoria consentita esaurita con PHP" where PHP richiede gigabyte di memory. Come posso formattare il registro degli errori Apache per vedere quale URL è stato acceduto?

  • traffico enorme da POST 123.249.24.233/POST_ip_port.php
  • C'è un'applicazione di log-tailing basata sul web?
  • Cisco IOS: accesso alla list di listini limitati o bloccati
  • revisione del cambiamento di file (in particolare per web.config)
  • HAProxy tronca la parte host_header di alcuni messaggi di registro
  • Apache Error Log Analyzer - Qual è il migliore?
  • Registrazione di IIS 7.5, come posso includere millisecondi nel field tempo?
  • Rolling e spurgo di log HTTP di Tomcat 6
  • 2 Solutions collect form web for “Aggiunta di "URL" accessibile al log degli errori Apache”

    prelevato dal file predefinito debian apache2.conf:

    # 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 

    Vedere il manuale di Apache 2 per il significato dei diversi segni di formato% o Apache 2 Manual ErrorlogFormat per avere il log di errore in un formato specifico dal momento che apache 2.4.

    in breve :

    Definire il formato di output nel file di configuration principale e il file di output ad esempio per vhost nella direttiva VirtualHost. Puoi definire il file di configuration per tutti i tuoi siti nel file principale, se lo desideri.

    qualcosa di simile sarebbe stato necessario per aggiungere (nel caso in cui non ci sia ancora):

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

    A seconda della configuration esatta, è ansible modificare leggermente la posizione.

    Non dimenticate di logrotare se hai un sito di traffico elevato.

    Normalmente questo dovrebbe essere (alless in debian) l'impostazione predefinita per come lo ricordo.

    Se si dispone di registri vuoti è ansible controllare le autorizzazioni della cartella / file in modo che l'utente in cui eseguire il process apache2 possa accedere e scrivere a loro.

    Ricorda che una ricarica del process è (per quello che so) necessaria per rivedere i file di configuration.

    La risposta accettata non risponde alla domanda originale in quanto accede a access.log e non a error.log

    è necessario inserire l'url in una variabile di ambiente e quindi chiamarla da ErrorLogFormat come questa:

     SetEnvIf Request_URI "(^.*$)" RURI=$1 ErrorLogFormat "%{cu}t %a %l %M URI:%{RURI}e" 
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.