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 :

[Tableaux] Crash inexpliqué : problème de mémoire ?


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Par défaut [Tableaux] Crash inexpliqué : problème de mémoire ?
    Bonjour,

    Je me suis auto-formé à PHP et n'ai donc éventuellement pas certaines "bases".
    J'ai une page qui contient plein d'enregistrements listés, et un bouton magique "toutConvertir" qui appelle un script PHP via Ajax.
    Ce script fait une requête MySQL pour obtenir tous les records, et pour chacun appelle une fonction qui le traite.
    Le pb c'est que je dois avoir 22.000 enregistrements, et chaque fois ça plante au bout de 1.000 et des bananes sans raison (error log vide).
    Dans la fameuse fonction qui traite un enregistrement, il y a des tas de requêtes et plein de créations d'objets... Est-ce dû à ça ? Est-ce qu'il faut obligatoirement faire un unset() des objets à la fin de la fonction ?

    Je n'ai malheureusement pas bcp plus d'infos.

    Merci de votre aide

  2. #2
    Membre éclairé Avatar de mdr_cedrick
    Profil pro
    Développeur multimédia
    Inscrit en
    Janvier 2008
    Messages
    374
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Janvier 2008
    Messages : 374
    Par défaut
    J'ai exactement le même problème
    un script php appelé en ajax qui liste un tableau de 30000 lignes ...
    mon erreur (si s'en est une) vient du fait que le serveur n'accepte pas plus de 30 sec de travail !
    si mon script mets plus de 30sec à s'exécuter ca plante ...
    regarde s'il est possible pour toi de "paginer" ton résultat avec un LIMIT ...

    Bon courage

  3. #3
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    Bonjour,
    Avez vous tenté de modifier le php.ini :
    ;;;;;;;;;;;;;;;;;;;
    ; Resource Limits ;
    ;;;;;;;;;;;;;;;;;;;

    max_execution_time = 30 ; Maximum execution time of each script, in seconds
    max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
    memory_limit = 8M ; Maximum amount of memory a script may consume (8MB)
    Avez vous placés des index dans vos tables ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Par défaut
    Hello,

    Pour ton problème de limite de temps, tu peux faire un set_time_limit(0) en début de script.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Par défaut
    Hello Jumano,

    Pour ma part oui, changer la limite d'exécution et la memory limit ne change malheureusement rien.
    J'ai une boucle sur 22.000 éléments qui pour chacun appelle une fonction "assez" lourde.

    Avant je gardais trace des erreurs mais pour être sûr j'ai arrêté ça... Aucun changement ^^

  6. #6
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    As tu mis des "index" sur les champs de tes tables sur lesquels tu fais tes requêtes ...

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Par défaut
    Oui oui, il y en a quelques uns. Pas trop pour pas alourdir la base, mais suffisamment je pense.

Discussions similaires

  1. [Tableaux] Un problème de mémoire cache ou quoi ?
    Par erman_yazid dans le forum Langage
    Réponses: 4
    Dernier message: 24/05/2008, 14h02
  2. Problème en mémoire avec des tableaux
    Par dword2add dans le forum C++
    Réponses: 3
    Dernier message: 11/11/2007, 14h36
  3. [Crystal Report]Problème de mémoire avec le moteur RDC
    Par sur_uix dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 26/05/2005, 10h09
  4. Problème de mémoire avec BDE
    Par Machuet dans le forum Bases de données
    Réponses: 3
    Dernier message: 13/07/2004, 11h11
  5. Problème de mémoire Affichage images
    Par Repti dans le forum C++Builder
    Réponses: 6
    Dernier message: 29/03/2004, 21h06

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