linux openbox error_log par hôte virtuel?




windows manager linux (9)

Mon Apache avait quelque chose comme ça dans httpd.conf. Changez simplement 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>

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

Le remplacement de ce paramètre dans <Location> du httpd.conf ne semble pas faire quoi que ce soit.

Existe-t-il un moyen d'avoir des php error_logs distincts pour chaque hôte virtuel?


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 veulent avoir une journalisation.

Une autre option serait d'activer les scripts par défaut à php.ini dans le dossier avec le script, puis aller 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 valeurs php.ini et leurs propres emplacements error_log .


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


Je le spécifie généralement dans un fichier .htaccess ou vhost.conf sur le domaine sur vhost.conf je travaille. Ajoutez ceci à l'un de ces fichiers:

php_admin_value error_log "/var/www/vhosts/example.com/error_log"

Si quelqu'un vient chercher ça 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 uniquement pour le développement puisque display_error est activé. Vous remarquerez que le journal des erreurs Apache est distinct du journal des erreurs PHP. Les bonnes choses sont dans php.error.log .

Jetez un oeil ici pour la clé error_reporting http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting


Le comportement par défaut est error_log () à afficher dans le journal des erreurs Apache. Si ce n'est pas le cas, vérifiez vos paramètres php.ini pour la directive error_log - laissez le fichier journal Apache non utilisé pour le vhost en cours.


Ne définissez pas error_log à l'emplacement de votre error_log syslog , eg /var/log/apache2 , car ces erreurs seront interceptées par ErrorLog . Au lieu de cela, créez un sous- subdir dans votre dossier de projet pour les journaux et faites php_value error_log "/path/to/project/logs" . Cela vaut pour les fichiers .htaccess et vhosts . Assurez-vous également de mettre php_flag log_errors sur


Tu pourrais essayer:

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

Mais je ne suis pas sûr si ça va marcher. J'ai essayé sur mes sites sans succès.


Créer un VirtualHost simple:

exemple 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 \ 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'oublie pas de redémarrer ton apache. pour plus d'informations, check ce lien







virtualhost