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

EDI, CMS, Outils, Scripts et API PHP Discussion :

WAMP5 Problème de mémoire [Wamp]


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Par défaut WAMP5 Problème de mémoire
    Bonjour,

    J'ai un script Php qui utilise la biblothèque reader.php qui permet de traiter des fichiers xls.

    Mon problème, c'est que je dois traiter de très lours fichiers xls, et lors de mon script, j'ai l'erreur "Fatal error: Allowed memory size of 13631488 bytes exhausted (tried to allocate 35 bytes) in C:\wamp\www\Excel\reader.php on line 1008".

    Or, dans mon fichier "php.ini" j'ai affecté 32M à memory_limit (car je pense que c'est le maximum que je peux affecter), et, pour être sûr, en début de script, je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ini_set('memory_limit','32M');
    .

    Pour info, voici mon script (qui est en cours de création, donc je ne fais que charger mon xls sans encore le traiter) :

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    <?php
    ini_set('memory_limit','32M'); //Pour le traitement du fichier xls qui peut être très lourd
    session_start();
    include_once("../fichiersInclusion/classes.php");
    Include("../../Excel/reader.php"); //Chargement de la librairie
     
    header('Content-Type: text/html; charset=utf-8');
     
    include_once("../fichiersInclusion/fonctionsPhp.inc");
     
    if ($_FILES['fichierCibles']['error'] == UPLOAD_ERR_OK)
     {
      $chemin_destination = '../campagnes/fichierDerniereCampagne.xls';
     
      if(move_uploaded_file($_FILES['fichierCibles']['tmp_name'], $chemin_destination))
       {
        $tab['nomFichier'] = date("Y-m-d-H-i-s") . '.inc';
     
        if($file = fopen ("../fichiersInclusion/interfacesCampagnes/". $tab['nomFichier'], "a+"))
         {
          fwrite($file, $_SESSION['code']);
          fclose($file);
     
          if(!empty($_POST['nom']))
           $tab["nom"] = $_POST['nom'];  
     
          if(!empty($_POST['accroche']))
           $tab["accroche"] = $_POST['accroche'];
     
          if(!empty($_POST['dateDebut']))
           $tab["dateDebut"] = $_POST['dateDebut'];
     
          if(!empty($_POST['dateFin']))
           $tab["dateFin"] = $_POST['dateFin'];
     
          $campagne = new CCampagne($tab);
          $resultat = $campagne->enregCampagne('enreg');
     
          if($resultat == "Enregistrement effectué")
           {
            //Traitement du fichier xls (mise-à-jour des des tables cibles et contacts) 
            $data = new Spreadsheet_Excel_Reader();// Instanciation de la class permettant la lecture du fichier excel
            $data->setOutputEncoding('utf-8');// Définition du type d’encodage de caractère à utiliser pour la sortie (ce qui va être affiché à l’écran)
            $data->read($chemin_destination);// Chargement du fichier excel à lire
     
            header("Location:../interfaces/interface.php?fichier=../fichiersInclusion/interfacesCampagnes/" . addslashes($tab['nomFichier']) . "&titre=Questionnaire");
           }
          else
           header("Location:../interfaces/interface.php?fichier=../fichiersInclusion/creatForm/erreurEnregCampagne.inc&titre=Erreur");
         }
        else
         echo "<font color='red'>Impossible de créer l'interface du questionnaire</font>";
       }
     }
    else
     echo "<font color='red'>Le fichier des client-cibles n'a pas pu être enregistré</font>";
    ?>
    Quelqu'un pourrait m'indiquer ce que je dois configurer pour que ça passe?

    Pour info, mon fichier xls de test fait 5 Mo. Par contre, si j'essaie avec un fichier de 1.8 Mo, ça passe.

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 670
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 670
    Par défaut
    d'après le message d'erreur tu as une limite de 13 Mio quelque part
    cherche "13M" dans ton fichier php.ini pour voir où est cette limite

  3. #3
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Par défaut
    Merci de l'intérêt que tu portes à mon problème.

    Alors, après recherche, je n'ai rien trouvé de semblable dans php.ini ni dans httpd.conf. Par contre, dans my.ini, j'ai trouvé ceci : tmp_table_size=13M, mais je ne sais pas à quoi cela correspond.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Par défaut
    Je viens de faire un test en affectant la valeur 126M à tmp_table_size, mais ça ne change rien.

  5. #5
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Par défaut
    Désolé, connerie de ma part : les affres du copier-coller. J'avais copié un fichier de classes provenant d'un précédent projet que j'avais réalisé et dans lequel traînait un "ini_set("memory_limit",'13M');".

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

Discussions similaires

  1. [WORD]Problème de mémoire
    Par Dnx dans le forum VBA Word
    Réponses: 17
    Dernier message: 05/10/2005, 14h48
  2. [Tomcat][Spring] Problème utilisation mémoire
    Par Wutintin dans le forum Hibernate
    Réponses: 12
    Dernier message: 08/09/2005, 14h57
  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, 09h09
  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, 10h11
  5. Problème de mémoire Affichage images
    Par Repti dans le forum C++Builder
    Réponses: 6
    Dernier message: 29/03/2004, 20h06

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