linux - error_log na virtuálního hostitele?

Translate

Na jednom serveru Linux se systémem Apache a PHP 5 máme několik virtuálních hostitelů se samostatnými soubory protokolu. Nezdá se, že bychom oddělili phperror_logmezi virtuálními hostiteli.

Přepsat toto nastavení v<Location>zhttpd.confnezdá se, že by něco dělal.

Existuje způsob, jak mít samostatný phperror_logspro každého virtuálního hostitele?

This question and all comments follow the "Attribution Required."

Všechny odpovědi

Translate

Chcete-li nastavitApache (ne PHP) log, nejjednodušší způsob, jak to udělat, je udělat:

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

Pokud není žádný úvodní znak „/“, předpokládá se, že je relativní.

Stránka protokolu chyb Apache

Zdroj
Translate

Pokud někdo přijde hledat, mělo by to vypadat takto:

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

Toto je pouze pro vývoj od té dobydisplay_errorje zapnutý. Zjistíte, že protokol chyb Apache je samostatný od protokolu chyb PHP. Dobré věci jsou uvnitřphp.error.log.

Podívejte se zde naerror_reportingklíčhttp://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting

Zdroj
Translate

Obvykle to jen specifikuji v.htaccesssoubororthevhost.confna doméně, na které pracuji. Přidejte toto do jednoho z těchto souborů:

php_admin_value error_log "/var/www/vhosts/example.com/error_log"
Zdroj
Mat
Translate

Výchozí chování je pro výstup error_log () do protokolu chyb Apache. Pokud se to neděje, zkontrolujte ve svém nastavení php.ini direktivu error_log - ponechte nenastavené, abyste použili soubor protokolu Apache pro aktuálního vhost.

Zdroj
Translate

Nenastavujteerror_logkamsyslogvěci jdou,eg /var/log/apache2, protože jejich chyby zachytíErrorLog. Místo toho vytvořte asubdirve vašemsložka projektupro protokoly a dělatphp_value error_log "/path/to/project/logs". To platí pro oba.htaccess soubory a vhosts. Nezapomeňte také dátphp_flag log_errorsna

Zdroj
Translate

Zkusili jste přidatphp_value error_log '/path/to/php_error_logdo vaší konfigurace VirtualHost?

Zdroj
Translate

Ano, můžete to zkusit

php_value error_log "/var/log/php_log" 

v.htaccessnebo můžete nechat uživatele použítini_set()na začátku svých skriptů, pokud chtějí mít protokolování.

Další možností by bylo povolit výchozí skripty naphp.inive složce se skriptem přejděte do kořenové složky uživatele / hostitele, poté do kořenového adresáře serveru nebo podobně. To by hostitelům umožnilo přidat vlastníphp.inihodnoty a jejich vlastníerror_logumístění.

Zdroj
Venus Lee
Translate
php_value error_log "/var/log/httpd/vhost_php_error_log"

Funguje to pro mě, ale musím změnit povolení souboru protokolu.

nebo Apache zapíše protokol do svéhoerror_log.

Zdroj
Translate

Můj Apache měl něco takového v httpd.conf. Stačí změnit nastavení ErrorLog a CustomLog

<VirtualHost myvhost:80>
    ServerAdmin [email protected]
    DocumentRoot /opt/web
    ServerName myvhost
    ErrorLog logs/myvhost-error_log
    CustomLog logs/myvhost-access_log common
</VirtualHost>
Zdroj
David Lee
Translate

Můžete zkusit:

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

Ale nejsem si jistý, jestli bude fungovat. Snažil jsem se na svých stránkách bez úspěchu.

Zdroj
Translate

Vytvořit jednoduchý VirtualHost:

příklad názvu hostitele: -thecontrolist.localhost

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

    127.0.0.1 thecontrolist.localhostv souboru hostitelů

  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. Nezapomeňte restartovat Apache. vícešektento odkaz

Zdroj