Problème de mémoire avec GD2

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème de mémoire avec GD2

par zeus » 03 nov. 2008, 15:41

Modération :
chatlumo, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.

par chatlumo » 03 nov. 2008, 15:33

Ok merci, je pensais que ça signifiait 10240 octets en tout d'où mon incompréhension.
J'ai donc changé memory_limit à 32 Mo et ça fonctionne.

Merci !

par zeus » 03 nov. 2008, 15:28

Le serveur que tu utilises limite l'utilisation mémoire de chaque script PHP à 16Mo (soit 16777216o).
ton erreur signifie que ton script a essayé d'allouer 10240 octets en plus, ce qui a fait que la somme totale à dépassée 16Mo et a donc déclenché une erreur.

Pour changer ça, essaye de faire une nouvelle page PHP blanche qui ne contient que le code suivant :
<?php
echo "Avant :". ini_get('memory_limit') ."<br />";
ini_set('memory_limit', 128M);
echo "Après :". ini_get('memory_limit') ."<br />";
Et donne nous le résultat.

Si tu as un changement, il est possible de modifier cette taille limite et la changer pour ce script. Si tu as les mêmes valeurs avant et après, ton hébergeur ne permet pas de modifier ces valeurs et tu ne pourras pas faire ton traitement d'image.

Si ton serveur est un serveur dédié, il existe une autre solution, mais j'attend que tu me le confirme, car une configuration par défaut à 16M me parrait très très basse.

Problème de mémoire avec GD2

par chatlumo » 03 nov. 2008, 14:09

Bonjour,

J'ai un script utilisant la librairie GD2 et qui fait :

Code : Tout sélectionner

$src_im = imagecreatefromjpeg( $img_url );
Hors avec une image j'obtiens le message d'erreur suivant :
Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 10240 bytes) in /home/machin/www/e_lib/redimimage.php on line 15

Avez-vous une idée du pourquoi ?

Merci.