error_log par hôte virtuel?

voix
97

Sur un serveur Linux exécutant Apache et PHP 5, nous avons plusieurs serveurs virtuels avec des fichiers journaux distincts. Nous ne pouvons pas sembler séparer le php error_logentre les hôtes virtuels.

Outrepasser ce paramètre dans le <Location>du httpd.confne semble pas faire quoi que ce soit.

Est - il possible d'avoir php séparé error_logspour chaque hôte virtuel?

Créé 01/08/2008 à 19:37
source utilisateur
Dans d'autres langues...                            


11 réponses

voix
133

Si quelqu'un vient à la recherche, il devrait ressembler à ceci:

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

Ceci est pour le développement que depuis display_errorest activée. Vous remarquerez que le journal des erreurs Apache est distinct du journal des erreurs PHP. Les bonnes choses est php.error.log.

Jetez un coup d' oeil ici pour la error_reportingclé http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting

Créé 26/08/2010 à 16:29
source utilisateur

voix
72

Pour définir l' Apache ( pas le PHP ) log, la meilleure façon de le faire serait de le faire:

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

S'il n'y a pas de leader « / » il est supposé être relatif.

Erreur Apache Log page

Créé 01/08/2008 à 20:58
source utilisateur

voix
12

En général , je le préciser dans un .htaccessfichier ou le vhost.confsur le domaine que je travaille sur. Ajoutez ceci à un de ces fichiers:

php_admin_value error_log "/var/www/vhosts/example.com/error_log"
Créé 02/08/2008 à 02:10
source utilisateur

voix
8

Le comportement par défaut est error_log () à la sortie du journal des erreurs Apache. Si cela ne se produit pas vérifier vos paramètres de php.ini pour la directive error_log - laisser unset d'utiliser le fichier journal Apache pour le serveur virtuel en cours.

Créé 01/08/2008 à 23:20
source utilisateur

voix
6

Ne pas mettre error_logà l' endroit où votre syslogtruc va, eg /var/log/apache2car ils seront erreurs sont interceptés par ErrorLog. Au lieu de cela, créez un subdirdans votre dossier de projet pour les journaux et à faire php_value error_log "/path/to/project/logs". Cela vaut pour les deux .htaccess fichiers et serveurs virtuels . Assurez -vous également que vous mettez php_flag log_errorssur

Créé 02/04/2010 à 21:50
source utilisateur

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

Il fonctionne pour moi, mais je dois changer l'autorisation du fichier journal.

ou Apache va écrire le journal des son error_log.

Créé 03/07/2009 à 00:54
source utilisateur

voix
5

Oui, vous pouvez essayer,

php_value error_log "/var/log/php_log" 

dans .htaccessou vous pouvez utiliser les utilisateurs ini_set()au début de leurs scripts s'ils veulent avoir l' exploitation forestière.

Une autre option serait de permettre aux scripts par défaut au php.inidans le dossier avec le script, puis allez dans le dossier racine de l'utilisateur / hôte, puis à la racine du serveur, ou quelque chose de similaire. Cela permettrait aux hôtes d'ajouter leurs propres php.inivaleurs et leurs propres error_logemplacements.

Créé 23/09/2008 à 00:29
source utilisateur

voix
5

Avez - vous essayé d' ajouter le php_value error_log '/path/to/php_error_logà votre configuration VirtualHost?

Créé 29/08/2008 à 07:13
source utilisateur

voix
4

Mon Apache avait quelque chose comme ça dans httpd.conf. Il suffit de modifier les paramètres ErrorLog et 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>
Créé 09/08/2008 à 03:51
source utilisateur

voix
3

Tu pourrais essayer:

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

Mais je ne sais pas si on va travailler. J'ai essayé sur mes sites sans succès.

Créé 23/09/2008 à 00:22
source utilisateur

voix
0

Créer simple VirtualHost:

par exemple le nom d'hôte: - thecontrolist.localhost

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

    127.0.0.1 thecontrolist.localhost dans le fichier hosts

  2. C: \ xampp \ apache \ conf \ supplémentaire \ 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. Ne pas oublier de redémarrer votre apache. pour plus de vérifier ce lien

Créé 31/05/2018 à 06:58
source utilisateur

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