Re: Dépassement de mémoire
JLuc <[email protected]>
| Newsgroups | gmane.comp.web.spip.devel |
|---|---|
| Message-ID | <[email protected]> |
Le 17/02/2016 10:55, Gilles Vincent a écrit : > La seule solution que je vois serait de loguer (en mode debug par exemple), l'appel à ce type de fonctions avant qu'il > ne soit fait. Oui, ce serait bien ! Cf aussi http://permalink.gmane.org/gmane.comp.web.spip.devel/66829 Jusqu'à présent j'ai de la chance car les logs sont renseignés. Mais si les logs n'étaient pas renseignés, quelle galère ce serait ! JLuc De manière générale, on pourrait tracer tous les appels de fonctions appelées via charger_fonction(). > 2016-02-17 10:02 GMT+01:00 Camille Sauvage <[email protected] <mailto:[email protected]>>: > > 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 > _______________________________________________ > liste: http://listes.rezo.net/mailman/listinfo/spip-dev > doc: http://www.spip.net/ > dev: http://trac.rezo.net/trac/spip/ > irc://irc.freenode.net/spip <http://irc.freenode.net/spip> > > > >