Maison  >  Article  >  développement back-end  >  Que dois-je faire si php-fpm sous nginx n'enregistre pas les journaux d'erreurs php ?

Que dois-je faire si php-fpm sous nginx n'enregistre pas les journaux d'erreurs php ?

coldplay.xixi
coldplay.xixioriginal
2020-07-24 13:34:053422parcourir

Comment résoudre le problème selon lequel php-fpm sous nginx n'enregistre pas les journaux d'erreurs php : 1. Modifiez la configuration dans [php-fpm.conf], sinon, ajoutez-la 2. Modifiez la configuration dans ; [php.ini], sinon, ajoutez ; 3. Redémarrez [php-fpm].

Que dois-je faire si php-fpm sous nginx n'enregistre pas les journaux d'erreurs php ?

Comment résoudre le problème selon lequel php-fpm n'enregistre pas le journal des erreurs php sous nginx :

1. Modification de la configuration dans php-fpm.conf, sinon, ajoutez

catch_workers_output = yes
error_log = log/error_log

2 Modifiez la configuration dans php.ini, sinon, ajoutez

log_errors = On
error_log = "/usr/local/lnmp/php/var/log/error_log"
error_reporting=E_ALL&~E_NOTICE
.

3 .Redémarrez php-fpm

Lorsque PHP exécute une erreur, vous pouvez voir le journal des erreurs dans "/usr/local/lnmp/php/var/log/error_log"

Veuillez noter :

1. Le paramètre php-fpm.conf dans php_admin_value[error_log] écrasera le paramètre error_log dans php.ini

donc assurez-vous que vous êtes dans phpinfo() Le fichier error_log final vu dans a des autorisations d'écriture et ne définit pas le paramètre php_admin_value[error_log], sinon le journal des erreurs sera affiché dans le journal des erreurs php-fpm.

2. L'emplacement de php.ini est introuvable, utilisez phpinfo() de php pour afficher les résultats

3 Comment modifier le journal des erreurs PHP pour qu'il ne soit pas affiché sur la page ou. screen

Modifier php.ini

  • display_errors = off //Ne pas afficher les informations d'erreur (pas de sortie sur la page ou l'écran)

  • log_errors = on / /Enregistrer les informations d'erreur (enregistrer dans le fichier journal)

  • error_reporting = E_ALL //Capturer toutes les informations d'erreur

  • error_log = //Définir le nom du fichier journal

Modifier la configuration ci-dessus dans le programme

ini_set("display_errors",0)
ini_set("error_reporting",E_ALL); //这个值好像是个PHP的常量
ini_set("error_log","<日志文件名>")
ini_set("log_errors",1);

4 Comment afficher le journal des erreurs php dans le journal des erreurs nginx

rrreee

. 🎜>

dans PHP 5.3 .8 et versions précédentes, lorsque PHP s'exécute via FastCGI et qu'une erreur se produit lors de l'accès utilisateur, elle sera d'abord écrite dans le journal des erreurs de PHP

Si le journal des erreurs de PHP ne peut pas être écrit, l'erreur le contenu sera renvoyé Donnez l'interface FastCGI, puis nginx l'enregistre dans le journal des erreurs nginx après avoir reçu le retour d'erreur de FastCGI

Dans PHP 5.3.9 et versions ultérieures, PHP essaie d'écrire dans le journal des erreurs PHP uniquement après une erreur se produit. S'il échoue, il ne reviendra pas à FastCGI et le journal des erreurs sera affiché dans le journal des erreurs de php-fpm.

Donc, si vous souhaitez afficher le journal des erreurs php dans le journal des erreurs nginx, vous devez utiliser une version antérieure à php5.3.8, et le error_log de php dans le fichier de configuration n'est pas accessible en écriture pour le processus de travail php.

Recommandations d'apprentissage associées : Programmation PHP du débutant au compétent

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