openbox - windows manager linux




error_log par hôte virtuel? (8)

Sur un serveur Linux exécutant Apache et PHP 5, nous avons plusieurs hôtes virtuels avec des fichiers journaux distincts. Il semble impossible de séparer php error_log entre les hôtes virtuels.

Le remplacement de ce paramètre dans <Location> du httpd.conf ne semble rien faire.

Est-il possible d'avoir des php error_logs distincts pour chaque hôte virtuel?


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


Créer simple VirtualHost:

exemple 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 \ 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. N'oubliez pas de redémarrer votre apache. pour plus de check ce lien


Le comportement par défaut est que error_log () produise dans le journal des erreurs Apache. Si cela ne se produit pas, vérifiez la directive error_log dans vos paramètres php.ini. Laissez-la non activée pour utiliser le fichier journal Apache pour le vhost actuel.


Mon Apache avait quelque chose comme ça dans httpd.conf. Il suffit de changer les paramètres ErrorLog et CustomLog

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

Oui, vous pouvez essayer,

php_value error_log "/var/log/php_log" 

dans .htaccess ou vous pouvez demander aux utilisateurs d’utiliser ini_set() au début de leurs scripts s’ils souhaitent se connecter.

Une autre option serait de permettre aux scripts de définir par défaut le php.ini dans le dossier avec le script, puis d'accéder au 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 valeurs php.ini et leurs propres emplacements error_log .


Pour définir le journal Apache ( pas le journal PHP ), le moyen le plus simple de procéder est:

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

S'il n'y a pas de "/" initial, il est supposé être relatif.

Journal des erreurs Apache


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 ça va marcher. J'ai essayé sur mes sites sans succès.


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

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

ou Apache écrira le journal dans son error_log .





virtualhost