#1 Le 22/10/2006, à 16:40
- Chaton
[Résolu] PHP : pb de taille d'allocation avec "ImageCreateFromJpeg"
Où puis modifier la taille d'allocation pour pouvoir exécuter la commande PHP suivante avec de grosses images ?
$source = ImageCreateFromJpeg($fichierSource);
Actuellement, avec une trop grosse image, la fonction me retourne :
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 1632 bytes) in /home/arnaud/www/admin/admin.php on line 42
Note : comme émulation serveur, j'ai uniquement LAMPP
"sudo /opt/lampp/lampp start"
Merci d'avance,
Chaton.
Dernière modification par Chaton (Le 31/01/2007, à 22:48)
Hors ligne
#2 Le 04/11/2006, à 23:12
- Chaton
Re : [Résolu] PHP : pb de taille d'allocation avec "ImageCreateFromJpeg"
Je me permet de faire un petit up, car cette limitation me gêne beaucoup.
[/troll off] Je tiens à signaler qu'avec EasyPHP sous W€, ça marche bien. [/troll on]
De plus, le code fonctionne sous linux avec des images de petite taille, mais explose avec des images supérieurs à 2 Mo.
C'est vraiment un problème d'allocation mémoire avec LAMPP.
function creeminiature($fichierSource, $fichierDest)
{
// Calcul des nouvelles dimensions
list($width, $height) = getimagesize($fichierSource);
if ($width < $height)
{
$largeurDestination = 150;
$hauteurDestination = 200;
}
else
{
$largeurDestination = 200;
$hauteurDestination = 150;
}
$im = ImageCreateTrueColor ($largeurDestination, $hauteurDestination)
or die ("Erreur lors de la creation de l'image");
$source = ImageCreateFromJpeg($fichierSource);
$largeurSource = imagesx($source);
$hauteurSource = imagesy($source);
ImageCopyResampled($im, $source, 0, 0, 0, 0, $largeurDestination, $hauteurDestination, $largeurSource, $hauteurSource);
$miniature = $fichierDest;
ImageJpeg ($im, $miniature);
}
C'est au niveau du ImageCreateFromJpeg de le code explose.
La taille d'allocation se paramètre-t-elle quelque part ?
Chaton.
Hors ligne
#3 Le 31/01/2007, à 22:48
- Chaton
Re : [Résolu] PHP : pb de taille d'allocation avec "ImageCreateFromJpeg"
Bon, j'ai trouvé (sur un forum allemand )
Il existe un paramètre qui détermine la taille mémoire maximum que peut prendre un script. Il est codé dans le /opt/lampp/etc/php.ini
Le paramètre par défaut est :
memory_limit = 8M ; Maximum amount of memory a script may consume
Je l'ai passé à 64Mo :
memory_limit = 64M ; Maximum amount of memory a script may consume
La commande ImageCreateFromJpeg est passée avec ma grosse image.
[Résolu]
Chaton.
Hors ligne