Nginx + PHP-FPM produisent 502 mauvaise passerelle au lieu d'une erreur fatale?


11

Je teste actuellement Symfony2 avec Nginx et PHP-FPM. J'utilise également Xdebug.

Symfony2 est livré avec un bundle de démo, je voulais tester la nouvelle gestion des erreurs fatales qui accompagne Symfony 2.2.0 en créant une erreur de syntaxe dans le bundle Acme / Demo. Pourquoi je fais ça, la réponse du serveur est 502 mauvaise passerelle.

Mais si je fais une erreur de syntaxe dans le fichier app_dev.php (donc avant que le framework ne soit déclenché), alors Xdebug me parle de l'erreur fatale.

Et étonnamment, si je corrige cette faute de frappe, puis que je recrée l'erreur de syntaxe dans le paquet Acme / Demo, le gestionnaire d'erreurs Symfony apparaît comme prévu. Et enfin, si un correctif toutes les fautes de frappe (page fonctionne) puis recréer à nouveau cette même faute de frappe (à nouveau dans Acme / Bundle), je reçois une mauvaise passerelle.

Avez-vous une idée à ce sujet?


Toute mise à jour? J'ai le même problème
Kevin Robatel

Ici aussi pour les mises à jour
Zaki Aziz

Quelle ligne apparaît dans votre nginx error.log lorsque vous obtenez l'erreur de passerelle incorrecte? C'est 90% un mauvais pointage vers un socket PHP-FPM. Pouvez-vous également nous montrer votre configuration nginx et la configuration de pool PHP-FPM que vous utilisez?
Bert

Réponses:


1

Cela m'est arrivé hier. Une erreur lors de la transmission de nginx à php5-fpm s'est avérée que le service php-fpm était configuré pour écouter sur le mauvais socket.

dans /etc/php5/php-fpm.conf j'ai changé pour:

listen = /var/run/php5-fpm.sock

et dans / etc / nginx / assurez-vous que fastcgi_pass unix: /var/run/php5-fpm.sock

HTH


Non, ma configuration fonctionne car je peux utiliser l'application. C'est seulement sur ce scénario spécifique, j'ai décrit.
jchatard

Essayez de changer les tampons. stackoverflow.com/questions/27173945/…
Ryan

0

Vous pouvez suivre le problème exact en vérifiant les journaux nginx.

/var/log/nginx/sitename.error.log

502 est dû à un problème de connexion au processus php-fpm. Le journal peut vous donner plus de détails. Si vous souhaitez isoler le journal, mentionnez error_log séparé sous l'emplacement de votre application php, comme

    location <name> {

    error_log /var/log/nginx/site_location.error.log;
  #  error_log /var/log/nginx/site_location.error.log debug;

    }

(si nginx essaie de se connecter à un port / phpfpm / socket différent, vous pouvez obtenir une réponse à cela)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.