Re: Dépassement de mémoire
Yohann Prigent <[email protected]>
| Newsgroups | gmane.comp.web.spip.devel |
|---|---|
| Message-ID | <[email protected]> |
(Coucou, Au passage, en parlant de dépassement de mémoire : https://core.spip.net/issues/3660) -- Yohann Prigent > On 17 Feb 2016, at 10:02, Camille Sauvage <[email protected]> wrote: > > Bonjour, on s'est tapé une galère d'une journée parce que l'on n'arrivait pas à entrer dans l'Espace Privé d'un site SPIP (mutualisé). > > L'accès à la page était impossible, mais ça échouait silencieusement avec une erreur 500. Rien dans error_log ni dans spip.log. > > L'erreur ne sortait pas dans SPIP car la fonction est appelée avec un opérateur @. En fait, c'est l'affichage d'un logo qui faisait tout planter. L'image source du logo était beaucoup trop grosse. > > Le test à la main sur l'image donne ça : > $ php -r "imagecreatefromjpeg('/tmp/arton347.jpg');" > PHP Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to > allocate 2491 bytes) in Command line code on line 1 > > Le morceau de code inctiminé dans > ecrire/inc/filtres_images_lib.php est: > $srcImage = @$fonction_imagecreatefrom($image); > if (!$srcImage) { > spip_log("echec gd1/gd2"); > return; > } > > L'erreur ici est qu'en cas d'épuisement de la mémoire, on arrive > même pas au spip_log(), car PHP fait une erreur 500 après son échec dans > imagecreatefromjpeg(). > > C'est piégeux. Ne serait-il pas utile que l'erreur soit plus facile à tracer ? > > Ah oui, détail, c'est un SPIP 3.0.17 > > Merci d'avance pour vos réponses. > -- > Camille >