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 :

Comprendre l'erreur PHP "Fatal error: Allowed memory size of x bytes exhausted"


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 9
    Points : 8
    Points
    8
    Par défaut Comprendre l'erreur PHP "Fatal error: Allowed memory size of x bytes exhausted"
    Bonjour,
    C'est mon premier post, ça fait plusieurs heures que je cherche sur internet et que je fais des tests, je n'ai pas non plus trouvé de topic à ce sujet sur le forum et il me semblerait bon d'expliquer, si quelqu'un sait, le fond de cette erreur : Fatal Error : Allowed memory size....

    Juste un dernier mot pour dire, que je ne cherche pas à savoir comment la résoudre (il y a assez de topic la dessus et je sais faire ) !

    Fatal error: Allowed memory size of 500 000 bytes exhausted (tried to allocate 752 bytes)

    apres plusieurs tests (avec une image, pour la forme),
    pour prendre la première partie que je sais expliquer, c'est la taille régie par directive PHP memory_limit exprimée en bytes (modifiable de plusieurs manières, mais là n'est pas le sujet).

    Seulement, c'est ce (tried to allocate 752 bytes) qui me tracasse, non pas de par l'anglais, mais par cette allocation qui équivaut donc à 752 octets.

    Toujours avec la même image,
    j'augmente doucement la directive memory_limit d'abord à 510 000 (par la directive), soit 10ko de plus (10 000 octets), mais par miracle on à toujours le même nombre de octets qu'on essaye d'allouer :
    Allowed memory size of 510000 bytes exhausted (tried to allocate 752 bytes)

    Idem en augmentant memory_limit jusqu'à 524287, même nombre de octets que le script à essayé d'allouer :
    Allowed memory size of 524287 bytes exhausted (tried to allocate 752 bytes)

    Pour mon exemple, ça marchera exactement à 524288, soit encore un octet de plus !

    1ère question :
    Pourquoi "tried to allocate" ?
    le script a essayé de dépasser de 752 bytes ! (à noter que la valeur de memory_get_usage() est constante pour le script) avant l'appel à la fonction imagecreatefromjpeg())
    Donc cela veut dire que l'on devrait augmenter notre memory_limit de 752 octets, pour régler l'affaire, pourquoi faut-il augmenter autant ?

    2ème question :
    Je ne comprends pas pourquoi "tried to allocate" est constant, même si je passe memory_limit à 1 octet ?

    3ème question :
    Pourquoi, si je passe memory_limit à 1 octet le maximum de mémoire alloué reste constant à 262144 octets (Allowed memory size of 262144 bytes exhausted...) ?

    Désolé, c'est lourd à digérer !!!!
    Mais merci d'avance à ceux qui pourront éclairer nos lant... heu lents scripts

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    1 - Tu as effectivement besoin d'au maximum 752bytes de plus pour traiter cette partie.
    752bytes c'est tout petit, qu'est ce qui te gêne dans ce chiffre ?

    2 - ton besoin n'est pas défini par ta limite.

    3 - je ne l'ai pas trouvé explicité dans la documentation mais je suppose qu'il y a une taille minimal de mémoire possible.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/11/2010, 18h49
  2. Réponses: 3
    Dernier message: 08/12/2009, 14h14
  3. [PEAR][Mail] Fatal Error : Allowed memory size of 8388608 bytes exhausted
    Par bigben89 dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 20/10/2008, 18h01
  4. Réponses: 3
    Dernier message: 08/08/2007, 19h08
  5. [Librairies] zip.lib.php Fatal error: Allowed memory size of 8388608 bytes exhausted
    Par manaboko dans le forum Bibliothèques et frameworks
    Réponses: 9
    Dernier message: 22/05/2006, 10h42

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