Maison  >  Article  >  développement back-end  >  Comment afficher le fichier journal des erreurs php dans nginx

Comment afficher le fichier journal des erreurs php dans nginx

PHPz
PHPzoriginal
2023-03-28 13:54:20763parcourir

Nginx est un serveur Web open source hautes performances qui peut être utilisé comme serveur proxy inverse, équilibreur de charge, etc. Et PHP est un langage de programmation couramment utilisé pour développer des sites Web et des applications Web dynamiques.

Lorsque vous utilisez Nginx pour déployer des programmes PHP, vous pouvez rencontrer des erreurs PHP. Afin de mieux dépanner et résoudre les problèmes, les informations sur les erreurs PHP doivent être enregistrées dans le fichier journal. Cet article explique comment utiliser Nginx pour générer des fichiers journaux d'erreurs PHP afin de faciliter le dépannage et le traitement ultérieurs.

Configuration de Nginx

Pour générer des fichiers journaux d'erreurs PHP, nous devons ajouter quelques éléments de configuration au fichier de configuration Nginx. Sur les systèmes CentOS, le fichier de configuration Nginx se trouve généralement dans /etc/nginx/nginx.conf. Recherchez la section de configuration du module http dans le fichier, généralement en haut du fichier, et ajoutez l'élément de configuration suivant :

http {
    ...
    server {
        ...
        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;

            # error log
            fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_errors.log";
        }
        ...
    }
    ...
}

location ~ .php$ signifie que cet élément de configuration ne sera utilisé que lors de l'accès à une URL se terminant par .php. fastcgi_pass spécifie l'adresse et le numéro de port du serveur FastCGI de PHP. fastcgi_param est utilisé pour définir les paramètres de PHP, où SCRIPT_FILENAME spécifie le chemin et le nom de fichier du script PHP. include fastcgi_params indique à Nginx d'utiliser les paramètres FastCGI par défaut. La dernière ligne ajoute fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_errors.log";, ce qui signifie enregistrer les informations d'erreur PHP dans le fichier /var/log/nginx/php_errors.log.

Créer un fichier journal

Après avoir configuré Nginx, nous devons créer un fichier journal pour enregistrer les informations d'erreur PHP. Supposons que nous souhaitions enregistrer le fichier journal dans /var/log/nginx/php_errors.log, nous pouvons utiliser la commande suivante pour créer le fichier :

sudo touch /var/log/nginx/php_errors.log

Utilisez ensuite la commande suivante pour modifier le propriétaire et les autorisations du fichier :

sudo chown nginx:nginx /var/log/nginx/php_errors.log
sudo chmod 644 /var/log/nginx/php_errors.log

Test

Test Lorsque vous créez un script PHP et obtenez une erreur, par exemple :

<?php
echo 1/0;
?>

Enregistrez ce script sous test.php, puis placez-le dans le répertoire racine Web de Nginx, par exemple /usr/ share/nginx/html/test.php . Visitez http://localhost/test.php dans votre navigateur et vous verrez une erreur PHP. Utilisez ensuite la commande suivante pour afficher le contenu du fichier journal :

sudo tail /var/log/nginx/php_errors.log

Si tout est normal, vous devriez voir un message d'erreur similaire au suivant :

[17-Oct-2021 20:52:42 UTC] PHP Warning:  Division by zero in /usr/share/nginx/html/test.php on line 2

Conclusion

Dans cet article, nous avons présenté comment afficher Fichiers journaux d'erreurs PHP dans Nginx, ce qui est très important pour le dépannage et la gestion des problèmes PHP. Pour générer un fichier journal des erreurs PHP, ajoutez d'abord fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_errors.log"; au fichier de configuration Nginx, puis créez un fichier journal et testez la sortie.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn