Na jednym serwerze Linux z Apache i PHP 5 mamy wiele wirtualnych hostów z oddzielnymi plikami dziennika. Nie możemy oddzielić php error_log
między wirtualnymi hostami.
Zastępowanie tego ustawienia w <Location>
z httpd.conf
nie wydaje się nic robić.
Czy istnieje sposób na utworzenie oddzielnego php error_logs
dla każdego hosta wirtualnego?
linux
apache
virtualhost
Michael Stum
źródło
źródło
httpd.conf
którym jest zapisany, lub?Jeśli ktoś przyjdzie szukać, powinno to wyglądać tak:
To jest tylko do programowania, ponieważ
display_error
jest włączone. Zauważysz, że dziennik błędów Apache jest oddzielny od dziennika błędów PHP. Dobra rzecz jest w środkuphp.error.log
.Spójrz tutaj na
error_reporting
klucz http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reportingźródło
Zwykle wystarczy określić to w
.htaccess
pliku lubvhost.conf
w domenie ja pracuję. Dodaj to do jednego z tych plików:źródło
php_admin_value
iphp_value
?Domyślnym zachowaniem error_log () jest zapisywanie do dziennika błędów Apache. Jeśli tak się nie dzieje, sprawdź ustawienia php.ini pod kątem dyrektywy error_log. Pozostaw to ustawienie nieustawione, aby używać pliku dziennika Apache dla bieżącego vhosta.
źródło
Nie ustawiaj miejsca,
error_log
w którymsyslog
trafiają Twoje rzeczyeg /var/log/apache2
, ponieważ błędy zostaną przechwyconeErrorLog
. Zamiast tego utwórz foldersubdir
w swoim projekcie dla dzienników i zróbphp_value
error_log "/path/to/project/logs"
. Dotyczy to zarówno.htaccess
plików, jak i vhostów . Również upewnić się, można umieścićphp_flag
log_errors
naźródło
Czy próbowałeś dodać
php_value error_log '/path/to/php_error_log
do konfiguracji VirtualHost?źródło
Tak, możesz spróbować
w
.htaccess
lub możesz użyć użytkownikówini_set()
na początku ich skryptów, jeśli chcą mieć logowanie.Inną opcją byłoby włączenie domyślnych skryptów do
php.ini
folderu ze skryptem, a następnie przejście do folderu głównego użytkownika / hosta, a następnie do katalogu głównego serwera lub czegoś podobnego. Umożliwiłoby to gospodarzom dodawanie własnychphp.ini
wartości i własnycherror_log
lokalizacji.źródło
U mnie działa, ale muszę zmienić uprawnienia do pliku dziennika.
lub Apache zapisze dziennik do pliku
error_log
.źródło
Mój Apache miał coś takiego w httpd.conf. Po prostu zmień ustawienia ErrorLog i CustomLog
źródło
Możesz spróbować:
Ale nie jestem pewien, czy to zadziała. Próbowałem na moich stronach bez powodzenia.
źródło
Utwórz prosty VirtualHost:
przykładowa nazwa hosta: -
thecontrolist.localhost
C: \ Windows \ System32 \ drivers \ etc
127.0.0.1 thecontrolist.localhost
w pliku hostsC: \ xampp \ apache \ conf \ extra \ httpd-vhosts.conf
Nie zapomnij zrestartować swojego apache. po więcej sprawdź ten link
źródło