Bonjour,J'ai un script PHP qui doit générer environ 3000 petites images (430x400px) en PNG. En gros, j'ai une requête SQL qui extrait une liste d'éléments pour lesquels il faut générer une image.J'ai donc un while() qui parcourt le résultat de ma requête et pour chaque enregistrement trouvé, j'appelle une fonction qui crée mon image. En gros, cette fonction fait :1) utilisation de JPGraph pour créer mon image initiale (c'est un graphique de stats)2) j'ouvre l'image générée via imagecreatefrompng()3) je fais quelques manips sur cette image (une rotation et ajout d'une titre et d'une légende)4) j'enregistre le fichier image final via imagepng() et je détruis ma variable image via imagedestroy()5) ma fonction renvoie true ou false.
Problème : au bout de 105 images générées, PHP crashe. Il me dit que sur la fonction imagecreatefrompng() veut allouer de la mémoire mais ne peut pas. J'ai pourtant mis la limite de mémoire à 1028Mo. Si je la passe à 200Mo, j'arrive à générer 3 fois plus de graphiques.J'ai du mal à comprendre pourquoi malgré la libération des ressources images, le script prend plus de 128 ou 200Mo de RAM
J'ai regardé sur Google mais en-dehors de la solution bête d'augmenter la limite de mémoire dans le php.ini, j'ai pas trouvé d'explication. C'est GD qui fait de la merde ?
Merci
Message édité par rufo le 03-10-2019 à 17:40:31
---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta