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 :

Taille de la mémoire autorisé dépassé


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Mars 2010
    Messages : 23
    Points : 29
    Points
    29
    Par défaut Taille de la mémoire autorisé dépassé
    Bonjour

    En executant mon fichier php j'ai obtenu ce message d'erreur:

    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2000000 bytes) in C:\EasyPHP-Devserver-17\eds-www\Nouveau dossier\fusionner2images.php on line 9
    Alors j'ai essayé de corriger l'erreur en ajoutant le code suivant au début du script:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ini_set('memory_limit','20000000M');
    mais le même message d'erreur revient.

    Que faire alors?

  2. #2
    Membre éclairé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2017
    Messages
    502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2017
    Messages : 502
    Points : 770
    Points
    770
    Par défaut
    Bonsoir, tu as exécuté quel fichier php ? Qui fait quoi ? Qui permet de faire quoi ?
    Soit claire.

    Cordialement.

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    D'abord il faut savoir que le message d'erreur est trompeur :
    Allowed memory size of M bytes exhausted (tried to allocate X bytes)
    Taille de mémoire autorisée de M octets dépassée (tentative d'allocation de X octets)
    Doit être compris : la taille de mémoire totale de M octets est dépassée en essayant d'ajouter X octets aux données déjà présentes en mémoire.
    Exemple : Si la taille totale est de 100 et qu'il y a déjà 90 occupés, en essayant d'ajouter 15, on obtient un message "Allowed memory size of 100 bytes exhausted (tried to allocate 15 bytes)"
    Donc en essayant de mettre la mémoire à 20000000M, tu as en fait diminué la taille de mémoire autorisée

    Ensuite comme l'a dit Mannequin, ce qu'il faudrait savoir, c'est pourquoi tu as besoin d'autant de mémoire. Est-ce un traitement lourd ou as-tu une fuite mémoire quelque part ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  4. #4
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 858
    Points : 6 556
    Points
    6 556
    Par défaut
    Citation Envoyé par Celira Voir le message
    Donc en essayant de mettre la mémoire à 20000000M, tu as en fait diminué la taille de mémoire autorisée :aie
    Bah non, 20 000 000 Mo = 20 480 000 000 Ko > 131 072 Ko = 134 217 728 octets. Par contre la nouvelle taille mémoire est délirante (~19 To), mais ça ne semble pas gêner les commandes ini_set/ini_get qui s'exécutent correctement chez moi même en mettant plus. (Cela dit je doute pouvoir réellement disposer d'autant de mémoire, même si l'OS mettait son swap à disposition.)

    Je crois qu'il essaie de manipuler des images un peu trop grosses, mais 130Mo c'est assez vite atteint avec des photos en haute définition par exemple. (Et la question sous-jacente que je me pose: est-ce que gd pour fusionner deux images compressées n'est pas obligé de passer par un stade intermédiaire où les images ne seraient plus compressées pour pouvoir effectuer la fusion?)
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

Discussions similaires

  1. problème de taille et de mémoire
    Par soria_t dans le forum C
    Réponses: 31
    Dernier message: 22/02/2007, 08h58
  2. Quelle est la taille de la mémoire allouée à la JVM ?
    Par emie31 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 12/11/2006, 21h42
  3. Réponses: 5
    Dernier message: 08/11/2006, 11h41
  4. Taille de la mémoire pointée par un pointeur
    Par Tex-Twil dans le forum C
    Réponses: 9
    Dernier message: 09/10/2006, 14h27
  5. [9i] Estimer la taille de la mémoire
    Par Débéa dans le forum Oracle
    Réponses: 4
    Dernier message: 08/03/2006, 17h25

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