J'ai une application qui interagit avec une base de données. Soudainement et occasionnellement, les pages me manifestent Si je rafraîchit les pages à l'aide de J'utilise WAMP avec Apache 2.4, PHP 5.4.3. Je suis désemparé de savoir où commencer le débogage ou où le problème est. P> update: strong> p> " Demande "se produit si on utilise lorsque "demande de connexion se produit" indique p> après rétrayage P> Réinitialisation de la connexion de serveur code> Erreur dans mon navigateur Web. Plus sensiblement, l'accès à un
localhost code> déclenche une alerte sur avast.
Ctrl + R code>, cela se produit de temps en temps. PHP ne montre aucun message d'erreur, et il semble que le serveur prend plus de temps pour répondre que d'habitude. P>
cachegrind code> Il affiche une liste partielle de CallStack of Methody. signifie qu'il ne gère pas tout le code. Il montre des appels requis_once et cela. La prochaine fois si je réessaye pour obtenir la page, la page exécute et affiche l'ensemble de la piqystack. p>
220 different functions called in 329 milliseconds (2 runs, 220 shown)
8 Réponses :
Pour redémarrer Apache via PHP Utilisez le code suivi dans PHP
exec('/etc/init.d/httpd graceful');
et sur un point de vue si votre serveur vous permet de le redémarrer en appelant un script arbitraire qui doit normalement être exécuté par le superutilisateur de l'intérieur, j'aurais très peur ..)
Changer Apache Ecoutez le port de 80 à 8080
Fichier httpd.conf code>, modifier
listen 80 code> to
Écoutez 8080 code> et redémarrez Apache p>
Réessayer désactive temporairement l'antivirus p>
Peut-être que ce n'est pas une solution droite, mais pourquoi pas seulement essayer une autre version de wamp ou peut-être la configuration de votre horloge système correcte ?. et avez-vous essayé d'exécuter Apache dans une configuration minimale? strong> Vous pouvez désactiver toutes les extensions et toutes les modules (INC PHP lui-même) et si Web Server fonctionnera comme prévu, vous pouvez transformer un par un de vos modules. Je ne connais pas votre environnement, mais vous pouvez également essayer de changer le numéro de fil de travail et d'autres valeurs au minimum. Je parie que cela n'aide pas mais au moins vous allez essayer. P>
Redémarrez votre ordinateur et fermer / désactiver toutes les applications en cours d'exécution, y compris Anti-Virus, il suffit d'un ensemble minimal d'applications exécutées. Fermez tout même ces applications que vous êtes sûrs que vous ne pouvez pas interférer - vous ne savez jamais .. p> li>
Assurez-vous que PHP affiche toutes les erreurs / avertissements: p>
error_reporting(E_ALL); ini_set('display_errors', '1');
Si vous avez activé MOD_Security activé, essayez de désactiver et de voir si la même chose se produit. Parfois, vous pouvez avoir sur vigilant mod_security qui ira à l'échec HTTP (peut parfois être aussi simple que l'insertion de données avec une ampères dans la base de données) et gagné 'T Écrire une erreur sur les journaux du serveur rendant difficile la dépannage, semble semblable à ce que vous rencontrez, je désactive le serveur Mod_Security Re-Démarrer et voyez si le comportement s'est arrêté! P>
On dirait que d'autres personnes ont rencontré le même problème à l'aide de WAMP: Avez-vous traversé chacun des points énumérés dans cet article appartenant au forum officiel: P>
Êtes-vous sûr de ne pas avoir d'inclure / besoin de boucle? p>
Ce genre de boucle rend PHP manger trop de mémoire et Apache se tue pour l'éviter. P>
ou peut-être une sorte d'erreur de 404 boucle ... Ce genre de boucle peut arriver si vous avez parfois 404 erreurs. Voici un exemple: p>
Vous avez une disposition avec une image qui manque, de sorte qu'il déclenche une erreur 404. Pour afficher la page, les erreurs 404 Ajoutent la mise en page autour de la page d'erreur contenant l'image manquante, qui déclenche une autre erreur 404. P>
espère que cela aide. P>
Que disent les journaux Apache?
Avast comme dans le programme anti-virus ?? Crikey, que dit ce message?
@Codemonkey oui le virus anti-virus. Il dit que «l'URL malveillante a été bloquée»
@mkjasinski il n'a aucune erreur
La réinitialisation du serveur correspond toujours-t-elle aux avonses d'avast? J'avais l'habitude d'utiliser Avast et je ne me souviens pas de ce qu'il bloquait jamais de mes affaires, ce qui me ferait que cette erreur me causerait une préoccupation! Qu'est-ce que / les URL bloquées devraient-elles revenir?
Les deux se produisent parfois même si j'exécute les mêmes pages. J'ai également remarqué que l'URL à Avast Alert est également modifiée sur www.localhost.com/rest/of/the/url même si je venais de rafraîchir la page qui n'était que localhost / repos / de / URL
@Codemonkey non pas toujours. Les deux se passent de manière aléatoire / occasionnellement. je suis tellement confus
Êtes-vous absolument sûr que vous avez regardé les journaux d'erreur du serveur (ne pas accéder aux journaux)?
@holodoc oui. Si vous voulez voir le vidage du fichier. ihave mise à jour de l'OP
Avez-vous accès à un autre ordinateur que vous pouvez accéder à votre serveur WAMP, voir si cela a le même problème? Le reste de votre accès Internet est-il bien? Je serais tenté d'exécuter malwarebytes pour voir s'il y a quelque chose d'interférer, de vérifier le fichier d'héberges, des paramètres de proxy, etc. Si tout semble bien, je serais tenté de désactiver Avast pendant un moment et de voir si le problème disparaît
@Codemonkey je vais essayer de vos manières. Le reste de l'accès à Internet est bien. Est-il possible que le code de mine a gâché quelque part qui cause cela?
Il est possible, mais sans voir le code ni les données qu'il entend retourner, je devinerais simplement.
Utilisez-vous une commande
inclure code> pour vous connecter au dB? Comme
inclure ("db_connect.php") code> (contient toutes les instructions de connexion de dB). Si oui, utilisez
include_once ('db_connect.php') code>
@AMIR Toutes les cours sont incluses à l'aide de * _ONCE ()
J'ai mis à jour la question. s'il te plait regarde.
Je ne comprends pas une autre chose s'il y a quelque chose avec le débordement de la mémoire, pourquoi ne montrez pas une erreur maximale de mémoire.
On dirait que vous utilisez SSL, en avez-vous besoin? Si non, désactivez-le comme vous pouvez avoir une erreur de configuration quelque part dans la configuration
Je soupçonne qu'Apache tente d'utiliser plus de ressources afin que votre système d'exploitation soit votre système d'exploitation ou que l'antivirus envoie le Single Kill pour l'empêcher d'obtenir plus de ressources. Vérifiez que le nombre autorisé de threads dans votre configuration Apache ajoutez également Apache dans votre liste de sécurité antivirus.
@fallenangel Si c'est une erreur de débordement de pile dans une routine de bibliothèque externe, PHP ne captira pas l'erreur. Ça va juste tuer le processus serveur. Vérifiez si vous avez une récursion infinie quelque part.
@cleong pouvez-vous expliquer que voulez-vous dire par
Routine de la bibliothèque externe code>?
Vous pouvez essayer de changer Apache Ecoutez des ports pour voir ce qui se passera dans le fichier journal.