Nouvelle erreur fatale
le 07/11/2007 à 12:45
Keika
Salut,
et oui je viens de decouvrir une nouvelle erreur fatale pour PHP.
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 9792 bytes) in /mnt/113/sdb/4/9/Photos/fonctions.php on line 143
bon je comprends bien que ma photo est trop grosse... mais quelle option ai-je ? je suppose que ca dois etre un reglage de php.ini ou pire, de Free... ?
Le PHP --> C'est dur !
Ton script bouffe trop de RAM, essaye de voir pourquoi. Tu dois surement avoir une variable qui "grossit" indéfiniment.
Peut être à cause d'une boucle, je ne sais pas.
Parce que 33 Meg, ça commence à peser pour un simple script de traitement d'image.
le 08/11/2007 à 05:06
Keika
hmm je ne pense pas que ce soit mon script, parcequ'il passe OK tant que je n'arrive pas a ces photos, et ces photos font 3Mo mini jusqu'a 4.
Donc je pense que le soucis vient de la si avec les autres photos ca passe. Mais c'est quand meme embetant, genre on ne peut pas faire les photos qu'on veut...
Le PHP --> C'est dur !
Salut à vous,
Dans ton php.ini tu peux essayer de modifier la ligne suivante et tu augmentes la taille de la mémoire:
memory_limit = 16M
Chez moi ça a résolu mon pb.
hmm je ne pense pas que ce soit mon script, parcequ'il passe OK tant que je n'arrive pas a ces photos, et ces photos font 3Mo mini jusqu'a 4.
Cela ne veut rien dire. C'est normal que l'erreur te saute aux yeux que quand elle arrive :) C'est à dire lorsque la limite de mémoire a été atteinte.
Si tu ne boucles pas bêtement et que tu unset bien tes variables à chaque passage (juste celles qui doivent l'être), ton script ne devrait jamais bouffer autant de RAM si tu traites des images de 3 Mo.
Enfin, ce que je veux dire, c'est que une fois que tu as une image traitée et juste avant que tu en traites une autre, si on observe ton script à cet instant précis, il devrait occuper 0 Mo de RAM. Or visiblement ce n'est pas le cas, car plus ton script avance, plus il consomme de la RAM.
le 09/11/2007 à 04:27
Keika
@ pierrot: J'utilise Free, donc je ne peux rien changer au php.ini...
@ LA GLOBULE: Hmm je vois...
v'la
mon script. Si tu vois ce que je pourrais changer parceque la je bloque... J'ai essaye imagedestroy() mais ca ne resout pas le soucis.
Merci
Le PHP --> C'est dur !
Et aurais tu aussi le code qui appelle la fonction ? Le code entier.
le 10/11/2007 à 04:38
Keika
no problem
Voila
Merci de l'attention portee.
K.
Le PHP --> C'est dur !
le 05/02/2008 à 13:20
Keika
hop, je remets au gout du jour parceque l'erreur ne disparait pas... Encore bizarre, je n'ai aucune erreur en local (aucune modif faites sur mon serveur, j'utilise Easyphp 2.1b) et sur free ca me balance ca:
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 12288 bytes) in line 163
ligne 163 :
$source = imagecreatefromjpeg($fichierSource);
Et pourtant l'image ne fait pas 33Mo, mais 1.5Mo, je ne comprends vraiment pas
Le PHP --> C'est dur !
Modifie le code pour que :
Tu pourras peut-être ainsi repérer la fuite mémoire.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.