error_log per Virtual Host?

stemmen
97

Aan de ene Linux Server Apache en PHP 5, we hebben meerdere virtuele hosts met aparte logbestanden. We kunnen niet schijnen om de php te scheiden error_logtussen virtuele hosts.

Deze instelling negeren in de <Location>van het httpd.conflijkt niet om iets te doen.

Is er een manier om aparte php hebben error_logsvoor elke Virtual Host?

De vraag is gesteld op 01/08/2008 om 19:37
bron van user
In andere talen...                            


11 antwoorden

stemmen
133

Als iemand komt kijken moet er als volgt uitzien:

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

Dit is voor de ontwikkeling pas sinds display_erroris ingeschakeld. U zult merken dat de Apache error log is gescheiden van de PHP error log. De goede dingen in php.error.log.

Kijk hier voor het error_reportingkey http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting

antwoordde op 26/08/2010 om 16:29
bron van user

stemmen
72

Om de ingestelde Apache ( niet de PHP ) in te loggen, de makkelijkste manier om dit te doen zou zijn om te doen:

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

Als er geen toonaangevende "/" wordt aangenomen ten opzichte van zijn.

Apache Error Log Pagina

antwoordde op 01/08/2008 om 20:58
bron van user

stemmen
12

Ik meestal dit gewoon opgeven in een .htaccessbestand of de vhost.confop het domein waar ik aan werk. Voeg dit toe aan een van deze bestanden:

php_admin_value error_log "/var/www/vhosts/example.com/error_log"
antwoordde op 02/08/2008 om 02:10
bron van user

stemmen
8

Het standaard gedrag is voor error_log () voor uitvoer naar de Apache error log. Als dit niet gebeurt controleer je php.ini instellingen voor de error_log richtlijn - laat het uitgeschakeld om de Apache logbestand gebruiken voor de huidige vhost.

antwoordde op 01/08/2008 om 23:20
bron van user

stemmen
6

Niet ingesteld error_lognaar de plaats waar je syslogspullen gaat, eg /var/log/apache2omdat ze fouten krijgt onderschept door ErrorLog. In plaats daarvan, maakt u een subdirin uw folder project voor stammen en doen php_value error_log "/path/to/project/logs". Dit geldt zowel voor .htaccess bestanden en vhosts . Zorg er ook voor je zetten php_flag log_errorsop

antwoordde op 02/04/2010 om 21:50
bron van user

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

Het werkt voor mij, maar ik moet de toestemming van het logbestand te wijzigen.

of Apache zal de log naar het haar te schrijven error_log.

antwoordde op 03/07/2009 om 00:54
bron van user

stemmen
5

Ja, kunt u proberen,

php_value error_log "/var/log/php_log" 

in .htaccessof u kunt gebruikers gebruiken ini_set()in het begin van hun scripts als ze willen houtkap.

Een andere optie zou zijn om scripts in staat te stellen standaard de php.iniin de map met het script, ga dan naar de map van de gebruiker / host root, vervolgens naar de root van de server, of iets dergelijks. Dit zou hosts om hun eigen toe te voegen php.iniwaarden en hun eigen error_loglocaties.

antwoordde op 23/09/2008 om 00:29
bron van user

stemmen
5

Hebt u geprobeerd het toevoegen van het php_value error_log '/path/to/php_error_logaan uw VirtualHost configuratie?

antwoordde op 29/08/2008 om 07:13
bron van user

stemmen
4

Mijn Apache had iets als dit in httpd.conf. Verander enkel de instellingen ErrorLog en 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>
antwoordde op 09/08/2008 om 03:51
bron van user

stemmen
3

Je kan het proberen:

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

Maar ik ben niet zeker of gaat werken. Ik probeerde op mijn sites zonder succes.

antwoordde op 23/09/2008 om 00:22
bron van user

stemmen
0

Maak eenvoudige VirtualHost:

Bijvoorbeeld hostname: - thecontrolist.localhost

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

    127.0.0.1 thecontrolist.localhost in hosts file

  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. Vergeet niet om uw apache herstarten. voor meer check deze link

antwoordde op 31/05/2018 om 06:58
bron van user

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