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
Partager