Bonjour,
je vous soumet un probleme avec mon serveur sous linux debian etch, apache php5 et mysql
en fait je bosse sur un site ou des personnes peuvent uploader des photos (plusieurs en meme temps grace a une applet ftp)
ces photos sont ensuite placée dans un repertoire.
A partir de la je fais un redimensionnement nul (pas de redimensionnement donc , je dis simplement a ma fonction qui utilise les fonctions gd(imagecreatefrom...etc) de me faire un redimensionnement de 1:1) et l'image se retrouve donc "copiee" dans un repertoire nommé "original"
ensuite je redimensionne 2 fois a partir de l'image uploadee aux formats "petit" et "grand" et les places dans des repertoires respectivement du meme nom
le probleme c'est que depuis quelques semaines j'ai de plus en plus d'images redimensionnées corrompues (les images s'affichent mais sont coupées par une bande noir ou comme si c'etait le negatif de la photo , sur une partie de la photo), cela 1 ou 2 fois par jour , sur 10-20 photos uploadées par jour
au depart cela arrivais sur les images "originales" , j'ai donc remplacé ma fonction de redimensionnement , par la fonction "copy" de php pensant que je n'avait finalement pas besoin d'utiliser les fonctions de gd pour cette operation ( les photos uploadées sont en générales des photos provenant d'appareils photos numerique , donc assez grandes mais depassant rarement 2Mo)
le remplacement de la fonction copy n'a pas suffit , le probleme survenait toujours (simplement en copiant !! :shock: )
j'ai donc rajouté un test de CRC sur l'image uploadée et l'image copiée , si les CRC sont différents je retente la copie jusqu'a ce que le CRC soit bon , et cela dans une limite de 5 tentatives
jusque ici je n'ai plus de probleme pour le format "original" par contre depuis peu je remarque que le probleme se pose sur les autres formats "petit" et "grand", je pense a mettre un bouton de regeneration, mais ca ne me semble pas suffisant, c'est vraiment bizzarre comme probleme je trouve
j'ai rajouté la commande set_time_limit(0) au niveau des fonctions de redimensionnements , pas plus de resultat
en effet je ne pense pas que cela soit normal , plusieurs possibilités je pense
un manque de ram , une ram defectueuse (m'etonnerais quand meme , ca fait 2 mois que le serveur tourne , et il y a 2 sites assez consultés dessus) , un parametre de configuration dans apache ou php.ini ?
si quelqu'un a deja eu ce genre de probleme ou a une idée , perso je suis un peu perdu, heeeeelp !![]()
Partager