error_log pro Virtual Host?

stimmen
97

Auf einem Linux - Server mit Apache und PHP 5, haben wir mehrere virtuelle Hosts mit separaten Log - Dateien. Wir können nicht scheinen , um die PHP zu trennen error_logzwischen virtuellen Hosts.

Diese Einstellung in den Aufschalten <Location>der httpd.confscheint nicht , etwas zu tun.

Gibt es eine Möglichkeit separate PHP haben error_logsfür jeden virtuellen Host?

Veröffentlicht am 01/08/2008 um 19:37
quelle vom benutzer
In anderen Sprachen...                            


11 antworten

stimmen
133

Wenn auf der Suche jemand kommt es soll wie folgt aussehen:

<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>

Dies ist für die Entwicklung erst seit display_erroreingeschaltet ist. Sie werden feststellen , dass das Apache - Fehlerprotokoll aus dem PHP - Fehlerprotokoll getrennt ist. Die guten Sachen sind in php.error.log.

Werfen Sie einen Blick hier für den error_reportingSchlüssel http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting

Beantwortet am 26/08/2010 um 16:29
quelle vom benutzer

stimmen
72

So stellen Sie den Apache ( nicht die PHP ) log, der einfachste Weg , dies zu tun , wäre zu tun:

<VirtualHost IP:Port>
   # Stuff,
   # More Stuff,
   ErrorLog /path/where/you/want/the/error.log
</VirtualHost>

Wenn es keine führende „/“ ist wird angenommen, relativ zu sein.

Apache Error Log Seite

Beantwortet am 01/08/2008 um 20:58
quelle vom benutzer

stimmen
12

Ich geben in der Regel nur diese in einer .htaccessDatei oder die vhost.confauf der Domäne arbeite ich an. Fügen Sie diese auf eine dieser Dateien:

php_admin_value error_log "/var/www/vhosts/example.com/error_log"
Beantwortet am 02/08/2008 um 02:10
quelle vom benutzer

stimmen
8

Das Standardverhalten ist für error_log () zur Ausgabe an das Apache-Fehlerprotokoll. Wenn dies geschieht nicht php.ini Einstellungen für die error_log Richtlinie überprüfen - lassen Sie es nicht gesetzt, die Apache-Protokolldatei für die aktuelle vhost zu verwenden.

Beantwortet am 01/08/2008 um 23:20
quelle vom benutzer

stimmen
6

Nicht festgelegt error_log, wo Ihre syslogSachen gehen, eg /var/log/apache2weil sie Fehler werden erhalten abgefangen durch ErrorLog. Stattdessen wird ein erstellen subdirin Ihrem Projektordner für Protokolle und tun php_value error_log "/path/to/project/logs". Dies gilt sowohl für .htaccess Dateien und vhosts . Auch stellen Sie sicher , Sie setzen php_flag log_errorsauf

Beantwortet am 02/04/2010 um 21:50
quelle vom benutzer

stimmen
5
php_value error_log "/var/log/httpd/vhost_php_error_log"

Es funktioniert für mich, aber ich habe die Erlaubnis der Protokolldatei ändern.

oder Apache wird das Protokoll auf die seine schreiben error_log.

Beantwortet am 03/07/2009 um 00:54
quelle vom benutzer

stimmen
5

Ja, können Sie versuchen,

php_value error_log "/var/log/php_log" 

in , .htaccessoder Sie verwenden Benutzer können ini_set()am Anfang ihrer Skripten , wenn diese Protokollierung haben wollen.

Eine andere Möglichkeit wäre, Skripte zu ermöglichen, die auf die Standard php.iniim Ordner mit dem Skript, gehen dann in den Stammordner des Benutzers / Host, dann an die Wurzel des Servers, oder etwas ähnliches. Dies würde es ermöglichen Gastgeber ihre eigenen hinzufügen php.iniWerte und ihre eigenen error_logStandorte.

Beantwortet am 23/09/2008 um 00:29
quelle vom benutzer

stimmen
5

Haben Sie versucht , das Hinzufügen der php_value error_log '/path/to/php_error_logzu Ihrer Virtualhost - Konfiguration?

Beantwortet am 29/08/2008 um 07:13
quelle vom benutzer

stimmen
4

Mein Apache hatte so etwas wie dies in httpd.conf. Ändern Sie einfach die ErrorLog und CustomLog Einstellungen

<VirtualHost myvhost:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /opt/web
    ServerName myvhost
    ErrorLog logs/myvhost-error_log
    CustomLog logs/myvhost-access_log common
</VirtualHost>
Beantwortet am 09/08/2008 um 03:51
quelle vom benutzer

stimmen
3

Du könntest es versuchen:

    <VirtualHost myvhost:80>
       php_value error_log "/var/log/httpd/vhost_php_error_log"
    </Virtual Host>

Aber ich bin nicht sicher, ob funktionieren wird. Ich habe versucht, auf meinen Seiten ohne Erfolg.

Beantwortet am 23/09/2008 um 00:22
quelle vom benutzer

stimmen
0

Erstellen Sie einfache Virtual:

Beispiel Host-Name: - thecontrolist.localhost

  1. C: \ Windows \ System32 \ drivers \ etc

    127.0.0.1 thecontrolist.localhost in hosts-Datei

  2. C: \ xampp \ apache \ conf \ Extra \ httpd-vhosts.conf

    <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>

  3. Vergessen Sie nicht , Ihre Apache neu zu starten. Weitere überprüfen Sie diesen Link

Beantwortet am 31/05/2018 um 06:58
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more