error_log per Virtual Host?

stemmer
100

På en Linux-server som kjører Apache og PHP 5 har vi flere Virtual Hosts med separate loggfiler. Vi klarer ikke å skille php error_logmellom virtuelle verter.

Styre denne innstillingen i <Location>av httpd.confsynes ikke å gjøre noe.

Er det en måte å ha separate php error_logsfor hver Virtual Host?

Publisert på 01/08/2008 klokken 18:37
kilden bruker
På andre språk...                            


11 svar

stemmer
135

Hvis noen kommer ute skal det se slik ut:

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

Dette er for utvikling bare siden display_errorer slått på. Du vil merke at Apache feilloggen er atskilt fra PHP feilloggen. Den gode ting er i php.error.log.

Ta en titt her for error_reportingnøkkel http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting

Svarte 26/08/2010 kl. 15:29
kilden bruker

stemmer
75

Slik angir Apache ( ikke PHP ) log, er den enkleste måten å gjøre dette ville være å gjøre:

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

Hvis det ikke er ledende "/" det antas å være relativ.

Apache Feillogg Side

Svarte 01/08/2008 kl. 19:58
kilden bruker

stemmer
13

Jeg pleier bare angi dette i en .htaccessfil ellervhost.confpå domenet jeg jobber med. Legg dette til en av disse filene:

php_admin_value error_log "/var/www/vhosts/example.com/error_log"
Svarte 02/08/2008 kl. 01:10
kilden bruker

stemmer
9

Standard oppførsel er for error_log () for å sende ut til Apache feilloggen. Hvis dette ikke skjer sjekk php.ini innstillinger for error_log direktivet - la den unset å bruke Apache loggfilen for gjeldende vhost.

Svarte 01/08/2008 kl. 22:20
kilden bruker

stemmer
6

Ikke sett error_logtil hvor syslogting går, eg /var/log/apache2fordi de feil vil bli snappet opp av ErrorLog. I stedet oppretter en subdiri prosjektmappen for logger og gjøre php_value error_log "/path/to/project/logs". Dette gjelder for både .htaccess filer og vhosts . Pass også på at du setter php_flag log_errors

Svarte 02/04/2010 kl. 20:50
kilden bruker

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

Det fungerer for meg, men jeg må endre tillatelse fra loggfilen.

eller Apache vil skrive loggen til sin error_log.

Svarte 02/07/2009 kl. 23:54
kilden bruker

stemmer
5

Ja, du kan prøve,

php_value error_log "/var/log/php_log" 

i .htaccesseller du kan ha brukere bruke ini_set()i begynnelsen av sine prosedyrer hvis de ønsker å ha logging.

Et annet alternativ ville være å aktivere skript for å starte på det php.inii mappen med manuset, så gå til brukeren / vertens rotkatalogen, og deretter til serverens rot, eller noe lignende. Dette vil tillate vertene å legge til sine egne php.iniverdier og sine egne error_logsteder.

Svarte 22/09/2008 kl. 23:29
kilden bruker

stemmer
5

Har du prøvd å legge den php_value error_log '/path/to/php_error_logtil din virtuellverten konfigurasjon?

Svarte 29/08/2008 kl. 06:13
kilden bruker

stemmer
4

Min Apache hadde noe sånt i httpd.conf. Bare endre innstillingene errorlog og CustomLog

<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>
Svarte 09/08/2008 kl. 02:51
kilden bruker

stemmer
3

Du kan prøve:

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

Men jeg er ikke sikker på om det kommer til å fungere. Jeg prøvde på mine nettsteder uten å lykkes.

Svarte 22/09/2008 kl. 23:22
kilden bruker

stemmer
1

Lage enkle virtuellverten:

eksempel vertsnavn: - thecontrolist.localhost

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

    127.0.0.1 thecontrolist.localhost i hosts-filen

  2. C: \ xampp \ apache \ conf \ ekstra \ 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. Ikke glem å starte Apache. for mer sjekk denne linken

Svarte 31/05/2018 kl. 06:58
kilden bruker

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