Auf einem Linux-Server mit Apache und PHP 5 verfügen wir über mehrere virtuelle Hosts mit separaten Protokolldateien. Wir können das PHP nicht error_log
zwischen virtuellen Hosts trennen .
Diese Einstellung in den Aufschalten <Location>
der httpd.conf
scheint nicht , etwas zu tun.
Gibt es eine Möglichkeit, error_logs
für jeden virtuellen Host ein separates PHP zu haben ?
linux
apache
virtualhost
Michael Stum
quelle
quelle
httpd.conf
es geschrieben ist, oder?Wenn jemand auf der Suche ist, sollte es so aussehen:
Dies ist nur für die Entwicklung, da eingeschaltet
display_error
ist. Sie werden feststellen, dass das Apache-Fehlerprotokoll vom PHP-Fehlerprotokoll getrennt ist. Das gute Zeug ist drinphp.error.log
.Suchen Sie hier nach dem
error_reporting
Schlüssel http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reportingquelle
Ich geben in der Regel nur diese in einer
.htaccess
Datei oder dievhost.conf
auf der Domäne arbeite ich an. Fügen Sie dies einer dieser Dateien hinzu:quelle
php_admin_value
und kommentierenphp_value
?Das Standardverhalten für error_log () ist die Ausgabe in das Apache-Fehlerprotokoll. Wenn dies nicht geschieht, überprüfen Sie Ihre php.ini-Einstellungen auf die Anweisung error_log. Lassen Sie es deaktiviert, um die Apache-Protokolldatei für den aktuellen vhost zu verwenden.
quelle
Stellen Sie nicht ein
error_log
, wohin Ihresyslog
Sachen geheneg /var/log/apache2
, da diese Fehler abgefangen werdenErrorLog
. Erstellensubdir
Sie stattdessen einen in Ihrem Projektordner für Protokolle und tun Sie diesphp_value
error_log "/path/to/project/logs"
. Dies gilt sowohl für.htaccess
Dateien als auch für vhosts . Stellen Sie außerdem sicher stellen Siephp_flag
log_errors
aufquelle
Haben Sie versucht, das
php_value error_log '/path/to/php_error_log
zu Ihrer VirtualHost-Konfiguration hinzuzufügen ?quelle
Ja, du kannst es versuchen,
in
.htaccess
oder Sie können Benutzerini_set()
am Anfang ihrer Skripte verwenden lassen, wenn sie eine Protokollierung wünschen.Eine andere Option wäre, Skripte so zu aktivieren, dass sie standardmäßig
php.ini
im Ordner mit dem Skript verwendet werden, und dann zum Stammordner des Benutzers / Hosts, dann zum Stammverzeichnis des Servers oder ähnlichem zu wechseln. Dies würde es Hosts ermöglichen, ihre eigenenphp.ini
Werte und ihre eigenenerror_log
Standorte hinzuzufügen .quelle
Es funktioniert für mich, aber ich muss die Berechtigung der Protokolldatei ändern.
oder Apache schreibt das Protokoll in das its
error_log
.quelle
Mein Apache hatte so etwas in httpd.conf. Ändern Sie einfach die Einstellungen für ErrorLog und CustomLog
quelle
Du kannst es versuchen:
Aber ich bin mir nicht sicher, ob es funktionieren wird. Ich habe meine Websites ohne Erfolg ausprobiert.
quelle
Einfachen VirtualHost erstellen:
Beispiel Hostname: -
thecontrolist.localhost
C: \ Windows \ System32 \ drivers \ etc.
127.0.0.1 thecontrolist.localhost
in der Hosts-DateiC: \ xampp \ apache \ conf \ extra \ httpd-vhosts.conf
Vergessen Sie nicht, Ihren Apache neu zu starten. Weitere Informationen finden Sie unter diesem Link
quelle