PHP-CGI a commencé à servir des pages blanches


8

Mon PHP-CGI a commencé à servir des pages vierges sans raison apparente jusqu'à ce que je redémarre le processus.

Je veux savoir pourquoi.

Malheureusement, le fichier de configuration "production" de PHP n'a pas de error_log par défaut. Mon journal d'erreurs Nginx n'a également affiché aucune erreur liée à PHP. C'est probablement un cas désespéré, mais je demande juste au cas où.

Voici ma configuration

  • Nginx 0.8.2
  • PHP 5.2.6-3ubuntu4.1 avec Suhosin-Patch 0.9.6.2 (cli) (construit: 23 avril 2009 14:37:14)
  • PHP APC 3.0.19-2
  • spawn-fcgi v1.6.2 (ipv6) - wrapper fastcgi de lighttpd

Avez-vous des idées sur la cause de l'erreur?

Mise à jour

Je pense que j'ai isolé le problème. J'ai utilisé Monit pour redémarrer automatiquement PHP chaque fois qu'il a commencé à supprimer. Mes journaux d'erreurs PHP sont vides.

Mais j'ai compris que si je désactivais un plugin Wordpress appelé WP-SuperCache, mon PHP cessait d'être réinitialisé toutes les ~ 10 heures. Jusqu'à présent, mon PHP fonctionne depuis 3 jours consécutifs. Quelqu'un a-t-il des suggestions à ce sujet?

Réponses:


2

Supercache génère des versions complètes des pages en cache, ainsi qu'en effectuant une autre mise en cache interne, il est possible qu'il y ait une sorte de problème de synchronisation dans les situations de charge élevée. Je vérifierais votre dossier de cache pour vous assurer qu'il ne contient pas de fichiers vierges. Si c'est le cas, vous avez probablement un problème de verrouillage de fichier. Résoudre un tel problème peut être délicat et nécessitera probablement l'ouverture d'un ticket de bogue, car il s'agit probablement d'un problème avec le code lui-même.


1

avez-vous essayé d'arrêter le service fcgi et de le redémarrer plutôt que de le redémarrer. des choses étranges similaires se sont produites lors du redémarrage de fcgi


1
Le problème ne vient pas du redémarrage. C'est arrivé spontanément du jour au lendemain quand j'ai reçu un tas de visiteurs d'un vidage de liens appelé Reddit.
Inconnu le

1

Vérifiez l'état de réponse de vos demandes si cela se reproduit (par exemple, curl -i) et si l'état n'est pas 200, vérifiez vos pages d'erreur (en particulier celle (s) pour le numéro d'erreur indiqué) et assurez-vous qu'elles ne le sont pas défini pour rediriger d'une manière qui pourrait provoquer une boucle infinie.

Si l'état de la réponse est 200, vérifiez s'il y a du texte dans la réponse autre que les en-têtes HTTP.


Je suppose que j'aurais dû le faire, mais j'ai déjà redémarré PHP pour que les gens puissent voir la page. Je n'ai vu aucune erreur dans mon journal de serveur.
Inconnu


1

Pas une réponse, mais une suggestion - remplacez spawn-fcgi par php-fpm c'est plus personnalisable.

PS. vous avez peut-être une redirection de page d'erreur 50x spéciale dans nginx.conf

UPD: aujourd'hui, j'ai rencontré un problème similaire lorsque nginx + php a commencé à servir des pages blanches. Mes recherches ont montré qu'il envoyait une page blanche quel que soit le php levé une exception. Il se peut que ce soit une sorte de directive php.ini pour servir vide au lieu d'une erreur. Je devrais examiner les journaux et etc ... essuyer.

UPD2: Regardez votre php.ini il y a 2 paramètres que vous devez changer afin de voir les erreurs php:

error_reporting = E_ALL & ~E_NOTICE
display_errors = On

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.