IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Blocage aléatoire script PHP


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de scrouet
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    280
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 280
    Points : 105
    Points
    105
    Par défaut Blocage aléatoire script PHP
    Bonjour.

    N'ayant pas eu de retour sur le forum Performance Web (mauvais aiguillage ?), je tente ma chance sur le forum PHP, peut-être plus approprié.

    Je me suis monté une petite appli Web de gestion de comptes bancaires sur Apache 2.2.x, PHP 5 et MySQL 5. L'un des scripts doit afficher la liste des opérations. Il est possible de filtrer la liste via un formulaire composé, entre autres, de listes (liste des tiers, liste des moyens de paiement, liste des catégories...).
    Le problème que je rencontre depuis un certain temps est le suivant : le script se bloque de manière aléatoire lorsque je souhaite filtrer la liste, mais toujours au même endroit. Dit autrement, lorsque je veux filtrer pour n'afficher par exemple que les dépenses de santé, le script se bloque environ 3 fois sur 4. En revanche le blocage se fait à chaque fois au même niveau lors de la construction de la liste des tiers.
    Comme ce blocage est récent, non systématique et que le script n'a pas été changé depuis un moment, j'ai l'impression qu'il s'agit plus d'un problème de gestion des ressources que de qualité de la programmation ou des données.
    Est-ce que quelqu'un aurait une idée pour pousser l'investigation, voire carrément une solution ?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Février 2009
    Messages : 354
    Points : 491
    Points
    491
    Par défaut
    Bizarre
    Y'a pas de message d’erreur?
    Sinon l'algo de trie est peux être erroné?
    Un bout de code?

  3. #3
    Membre habitué Avatar de omar24
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 159
    Points : 172
    Points
    172
    Par défaut
    ça fait longtemps que j'ai rencontré ce genre de problèmes, je te conseille de revoir le code qui est à l'origine du blocage de votre script certainement à un instant ton serveur n'arrive pas à "comprendre" votre code c'est à dire votre code contient des instructions illogiques.

  4. #4
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 386
    Points
    9 386
    Par défaut
    Afficher le niveau le plus bas d'erreur ? Tu seras à mon avis vite fixé...
    Soit c'est un dépassement mémoire, soit un temps d'exécution trop long.

    « Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur. »
    « Le watchdog aboie, les tests passent »

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Mars 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2006
    Messages : 41
    Points : 33
    Points
    33
    Par défaut
    Personellement je voterai pour une boucle infinie...

  6. #6
    Membre habitué Avatar de omar24
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 159
    Points : 172
    Points
    172
    Par défaut
    une durée d’exécution longue ou une boucle infinie je pense les deux mènent à la même chose: un message d'erreur indiquant que le temps d’exécution est dépassé alors il n'a pas signalé qu'il y a une erreur il a dit juste script bloque.

  7. #7
    Membre régulier Avatar de scrouet
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    280
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 280
    Points : 105
    Points
    105
    Par défaut
    Ce n'est pas une boucle infinie : j'utilise le résultat d'une requête pour afficher la liste des tiers.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    $InitialeTiers = "";
    foreach ($LstTiers as $Ligne) {
    	/* Ajout ligne vide supplementaire si changement initiale tiers */
    	if ($InitialeTiers != "" && $InitialeTiers != strtolower(substr($Ligne['Tie_Nom'], 0, 1))) {
    		print "\t\t\t<option value=\"\">&nbsp;</option>\n";
    	}
    	$InitialeTiers = strtolower(substr($Ligne['Tie_Nom'], 0, 1));
    	if ($Debug > 2)
    		ecrire_message("Tie_ID bis={$Ligne['Tie_ID']}", "N", $Fonction);
    	print "\t\t\t<option value=\"" . $Ligne['Tie_ID'] . "\"";
    	if ($Debug > 2)
    		ecrire_message("ici", "N", $Fonction);
    	if ($Param['Tie_ID'] == $Ligne['Tie_ID'])
    		print " selected=\"selected\"";
    	$Tiers = $Ligne['Tie_Nom'];
    	if ($Ligne['Tie_Prenom'] != "")
    		$Tiers .= " " . $Ligne['Tie_Prenom'];
    	print ">" . traiter_accents(stripslashes($Tiers), "ISO->HTML") . "</option>\n";
    }
    Lorsque ça se bloque, c'est juste avant le message de debug "ici".
    J'ai ajouté un tiers dans le début de la liste (triée alphabétiquement) et il en ressort que ça ne bloque pas sur un tiers en particulier mais sur le 227e.
    Autre précision : que ça se bloque ou pas, la requête SQL de récupération de la liste s'exécute toujours sans problème et m'indique toujours le même nombre de résultats, à savoir 576.

    Enfin, si je laisse mon navigateur attendre lorsque le script se bloque, il termine par une erreur "Bad request".

    Pour ce qui est du temps d'exécution hors plantage, la page se charge approximativement en 2 secondes sans aucun filtre et affiche un tableau de plus de 1250 lignes.

  8. #8
    Membre régulier Avatar de scrouet
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    280
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 280
    Points : 105
    Points
    105
    Par défaut
    Je ferme la discussion, ça ne bloque plus.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Quel est le meilleur script PHP de portail (CMS) ?
    Par Lana.Bauer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 187
    Dernier message: 18/10/2012, 07h45
  2. Blocage aléatoire d'un script PHP
    Par scrouet dans le forum Performance Web
    Réponses: 1
    Dernier message: 11/05/2011, 12h28
  3. Réponses: 16
    Dernier message: 06/11/2010, 13h34
  4. Pb d'execution de requete avec un script php
    Par ythierrin dans le forum Requêtes
    Réponses: 3
    Dernier message: 22/08/2003, 14h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo