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?
Réponses:
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
la source
Vous pouvez suivre le problème exact en vérifiant les journaux nginx.
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
(si nginx essaie de se connecter à un port / phpfpm / socket différent, vous pouvez obtenir une réponse à cela)
la source