dziennik błędów dla wirtualnego hosta?

Na jednym serwerze Linuksowym 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.

Nadpisanie tego ustawienia w <Location> z httpd.conf wydaje się nic nie robić.

Czy istnieje sposób na oddzielenie php error_logs dla każdego wirtualnego hosta?

Author: Philip Raath, 2008-08-01

11 answers

Aby ustawić Apache (nie jest to log PHP), najprostszym sposobem na zrobienie tego byłoby:

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

Jeśli nie ma wiodącego"/", przyjmuje się, że jest względny.

Strona Dziennika Błędów Apache

 87
Author: helloandre,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-31 09:31:50

Jeśli ktoś przyjdzie szukać to powinno wyglądać tak:

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

To jest dla rozwoju tylko od {[1] } jest włączony. Zauważysz, że dziennik błędów Apache jest oddzielony od dziennika błędów PHP. Dobra rzecz jest w php.error.log.

Spójrz tutaj na error_reporting klucz http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting

 141
Author: Clutch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-15 07:55:18

Zwykle określam to w pliku .htaccess lub vhost.conf w domenie, nad którą pracuję. Dodaj to do jednego z tych plików:

php_admin_value error_log "/var/www/vhosts/example.com/error_log"
 13
Author: Kevin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-03 10:00:31

Domyślnym zachowaniem error_log () jest wyjście do dziennika błędów Apache. Jeśli tak się nie dzieje, Sprawdź swoje php.ustawienia ini dla dyrektywy error_log. Pozostaw wyłączone, aby użyć pliku dziennika Apache dla bieżącego vhost.

 9
Author: Mat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-07-25 09:30:48

Nie ustawiaj error_log tam, gdzie idzie Twoje syslog Rzeczy, eg /var/log/apache2, ponieważ błędy zostaną przechwycone przez ErrorLog. Zamiast tego utwórz subdir w folderze projektu dla logów i zrób php_value error_log "/path/to/project/logs". Dotyczy to zarówno .htaccess pliki i vhosty . Również upewnij się, że umieścić php_flag log_errors na

 7
Author: rkulla,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-12-16 12:07:20

Czy próbowałeś dodać php_value error_log '/path/to/php_error_log do konfiguracji VirtualHost?

 6
Author: hoyhoy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-29 06:13:17

Tak, możesz spróbować.]}

php_value error_log "/var/log/php_log" 

W .htaccess lub użytkownik może używać ini_set() na początku swoich skryptów, jeśli chce mieć logowanie.

Inną opcją byłoby włączenie domyślnego skryptu php.ini w folderze 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. Pozwala to hostom dodawać własne wartości php.ini i własne lokalizacje error_log.

 6
Author: James Hartig,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-20 05:41:44
php_value error_log "/var/log/httpd/vhost_php_error_log"

U mnie działa, ale muszę zmienić uprawnienia pliku dziennika.

Lub Apache zapisze log do its error_log.

 6
Author: 3 revs, 3 users 78%sangjin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-20 05:42:07

Mój Apache miał coś takiego w httpd.conf. Po prostu zmień ustawienia ErrorLog i CustomLog

<VirtualHost myvhost:80>
    ServerAdmin [email protected]
    DocumentRoot /opt/web
    ServerName myvhost
    ErrorLog logs/myvhost-error_log
    CustomLog logs/myvhost-access_log common
</VirtualHost>
 5
Author: ejunker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-09 02:51:15

Możesz spróbować:

    <VirtualHost myvhost:80>
       php_value error_log "/var/log/httpd/vhost_php_error_log"
    </Virtual Host>
Ale nie jestem pewien, czy to zadziała. Próbowałem na moich stronach bez powodzenia.
 4
Author: Tanjim Khan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-07-24 14:38:39

Utwórz Prosty VirtualHost:

Przykładowa Nazwa hosta:- thecontrolist.localhost

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

    127.0.0.1 thecontrolist.localhost w pliku hosts

  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. Nie zapomnij ponownie uruchomić Apache. więcej sprawdź ten link

 2
Author: Parveen Chauhan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-05-01 11:35:00