Discussion:
Plantage serveur
(trop ancien pour répondre)
EBille
2007-02-05 08:03:12 UTC
Permalink
Bonjour à tous,
J'ai besoin d'aide pour un plantage qui survient sur une application
APACHE-PHP-ORACLE en intranet.
sous firefox ça donne "La connexion avec le serveur a été
réinitialisée pendant le chargement de la page."
Sous IE6 : 'Impossible d'afficher la page' et 'Impossible de trouver
le serveur ou erreur DNS'.
J'ai un script qui affiche un formulaire (form.php), "action" passe la
main à un script (recherche.php) qui étudie les réponses, construit
une requete et l'éxecute (oracle) et "include" le script d'affichage
(affiche.php) des résultats de la requete. C'est recherche.php qui
provoque l'erreur (?)
Dans la LOG du serveur apache on voit ça :
[Fri Feb 02 16:18:31 2007] [notice] Parent: child process exited with
status 3221225477 -- Restarting.
[Fri Feb 02 16:18:32 2007] [notice] Apache/2.0.55 (Win32) PHP/5.1.2
configured -- resuming normal operations
[Fri Feb 02 16:18:32 2007] [notice] Server built: Oct 9 2005 19:16:56
[Fri Feb 02 16:18:32 2007] [notice] Parent: Created child process 3696
[Fri Feb 02 16:18:32 2007] [notice] Child 3696: Child process is
running
[Fri Feb 02 16:18:32 2007] [notice] Child 3696: Acquired the start
mutex.
[Fri Feb 02 16:18:32 2007] [notice] Child 3696: Starting 250 worker
threads.
Dans la log de PHP : rien
Je précise que le problème survient alors que l'appli existe depuis un
moment et que je n'ai fait que la modifier pour optimiser la
pagination des résultats (30 lignes à l'écran, boucle dans un tableau
sans relancer la requete).
Comment et ou chercher ?
Bonne journée,
Eric Billard
John GALLET
2007-02-10 23:19:24 UTC
Permalink
Post by EBille
J'ai besoin d'aide pour un plantage qui survient sur une application
APACHE-PHP-ORACLE en intranet.
Sur windows, c'est censé fonctionner ce truc là ?
Post by EBille
une requete et l'éxecute (oracle) et "include" le script d'affichage
(affiche.php) des résultats de la requete. C'est recherche.php qui
provoque l'erreur (?)
La première chose à faire est évidemment de reproduire le plantage aec un
script unitaire le plus court possible.
Post by EBille
[Fri Feb 02 16:18:31 2007] [notice] Parent: child process exited with
status 3221225477 -- Restarting.
Pas grand chose sur google, un petit peu de bugs.php.net mais rien de
flagrant.
Post by EBille
[Fri Feb 02 16:18:32 2007] [notice] Apache/2.0.55 (Win32) PHP/5.1.2
Bon.
Post by EBille
[Fri Feb 02 16:18:32 2007] [notice] Child 3696: Starting 250 worker
threads.
Houlà. 250 threads au démarrage ?? Est-ce bien raisonnable ? Et surtout
est-ce nécessaire ?
Post by EBille
moment et que je n'ai fait que la modifier pour optimiser la
pagination des résultats (30 lignes à l'écran, boucle dans un tableau
sans relancer la requete).
C'est à dire ? Y-a-t-il eut modification du SQL, ou ajout de
fonctionnalités totalement nouvelles (session par exemple) ?
Post by EBille
Comment et ou chercher ?
Partir de l'existant qui fonctionnait et rejouer les modifications une par
un jusqu'à trouver la combinaison qui introduit le problème.

a++;
JG
EBille
2007-02-16 08:44:20 UTC
Permalink
Bonjour,
Post by John GALLET
Post by EBille
APACHE-PHP-ORACLE en intranet.
Sur windows, c'est censé fonctionner ce truc là ?
Ben oui, et meme que ça marche au poil et tu n'es même pas obligé de
re-compiler le noyau tous les matins... l'est pas belle la vie ?
Post by John GALLET
La première chose à faire est évidemment de reproduire leplantageaec un
script unitaire le plus court possible.
Merci de ce judicieux conseil, je suis ainsi parvenu à isoler le
'blème.
C'est au niveau de l'appel de fonction PHP (Oracle) ociparse... ne me
reste plus qu'à convaincre le DBA de m'aider ;-)).
Post by John GALLET
Houlà. 250 threads au démarrage ?? Est-ce bien raisonnable ? Et surtout
est-ce nécessaire ?
Ca veut dire quoi ? Comment on règle ça ?
L'ensemble serveur-interpréteur est fourni par wamp 1.6.1.
On a pris cette version parce qu'on a une base oracle en version 9i,
donc le client idem, et ce paquet inclus la dernière version de PHP
dont la DLL oci8 est compilée pour 9i, les versions ultérieurs ne
fonctionnant qu'avec la version 10. C'est de la grosse "bricole", j'en
conviens. Et en plus, je ne comprends pas tout.
Post by John GALLET
C'est à dire ? Y-a-t-il eut modification du SQL, ou ajout de
fonctionnalités totalement nouvelles (session par exemple) ?
Oui, il y a eu grosses modifs côté connexion à la base... mais ça a
fonctionné pendant quelque temps...

Merci beaucoup pour tes pistes
Bonne journée
EB
EBille
2007-02-22 09:11:02 UTC
Permalink
Je me répond à moi-même...
J'ai trouvé... c'est une grosse c....
Dans le script recherche.php qui crée une phrase SQL à partir des
données d'un formulaire, et qui oriente la sortie vers ECRAN, PDF ou
XL,
j'ai un include 'affiche.php' (dans le cas ou c'est : ECRAN)
"affiche.php" gère la pagination de l'affichage de la requete (30
lignes par écran), donc il s'appelle lui-même par <form> en se passant
les indices pour se promener dans le tableau résultat de la requete
pour la premiere page l'url est "recherche.php" et pour les pages 2 à
n "affiche.php"
et dans "affiche.php", j'ai laisser trainer un joli header() qui
rafraichit...
Au premier appel, il s'appelle à nouveau et ainsi de suite jusqu'à ce
qu'Apache le plante...
Désolé...
Bonne journée
EB

Continuer la lecture sur narkive:
Loading...