Re: Dépassement de mémoire
Gilles Vincent <[email protected]>
| Newsgroups | gmane.comp.web.spip.devel |
|---|---|
| Message-ID | <CA+Q4CmtddDs1QUHAeC_C4p=QmuCUtor=WxRhvgnHiaWU1nUN7g@mail.gmail.com> |
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. De manière générale, on pourrait tracer tous les appels de fonctions appelées via charger_fonction(). This email has been sent from a virus-free computer protected by Avast. www.avast.com <https://www.avast.com/sig-email> <#DDB4FAA8-2DD7-40BB-A1B8-4E2AA1F9FDF2> 2016-02-17 10:02 GMT+01:00 Camille Sauvage <[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 >