|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : mai 2009 Messages : 25 ![]() |
Bonjour,
J'ai développé une classe en PHP-5 pour la manipulation d'images (notamment redimensionner et rogner) qui fonctionne très bien mais je rencontre des problèmes de mémoire sur les serveurs mutualisés. J'ai développé un site pour un client avec backoffice dans lequel on peut ajouter/modifier des produits et pour chaque produit on peut ajouter 1 à 3 photos. Le problème c'est que les photos font 4000*3000px et pèsent 3 Mo en moyenne et lorsque PHP essaie de les redimensionner avec GD sur un serveur mutualisé, j'ai le droit à une erreur du type : Fatal error: Allowed memory size of X bytes exhausted (tried to allocate Y bytes). Alors actuellement je demande au client de redimensionner au préalable ses photos avec GIMP mais il fait la gueule... surtout lorsqu'il y a plus d'une 50aine de produits à rentrer. N'y a-t-il pas une autre solution ? (à part prendre un dédié Merci de vos réponses ! |
|
|
00
|
|
|
#2 |
|
Membre chevronné
![]() Développeur Web Inscription : mars 2011 Messages : 399 ![]() |
Il faudrait optimiser le code.
Ouvrez-vous les images en même temps ? Pensez-vous à fermer toutes les images (initiales et transformées) ? etc...
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery. Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels. Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc... |
|
00
|
|
|
#3 |
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
pas trop le choix que de monter la mémoire, puisque le poids dépend uniquement de la taille de l'image. le problème serait le même sur un dédié
t'as un ration de 1.7 a peu près (L * H * 3 * 1,7), donc la pour un jpg de 4k x 3k il a besoin de 60Mo de mémoire
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#4 |
|
Membre éprouvé
![]() Étudiant Inscription : avril 2011 Messages : 317 ![]() |
Le problème n'est pas le même sur un dédié : tu modifie la valeur max dans ton php.ini et ça fonctionne. Par contre sur un mutualisé ... pas accès à php.ini :p.
|
|
|
00
|
|
|
#5 |
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
mais non la valeur de memory_limit se modifie n'importe ou...
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#6 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Sur un mutualisé la mémoire est limité par l'hebergement quelque soit la méthode utilisée.
|
|
|
00
|
|
|
#7 |
|
Membre éprouvé
![]() Étudiant Inscription : avril 2011 Messages : 317 ![]() |
|
|
|
00
|
|
|
#8 |
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
ah si, memory_limit c'est PHP_INI_ALL donc modifiable partout, apres que le mutu bloque par exemple le ini_set (ou pas de .htaccess ou de .user.ini) c'est autre chose, mais c'est faux dire qu'on ne peux pas modifié cette valeur parce qu'on a pas accès au php.ini, puisque c’est modifiable a n'importe quelle endroit du code
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#9 | |
|
Membre éprouvé
![]() Étudiant Inscription : avril 2011 Messages : 317 ![]() |
Citation:
|
|
|
|
00
|
|
|
#10 |
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
que les hébergeur qui bloque la fonction ini_set, et qui ne sont pas en module apache, a part Free j'en vois pas d'autre...
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#11 |
|
Membre éprouvé
![]() Étudiant Inscription : avril 2011 Messages : 317 ![]() |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com