Dépassement de mémoire

Camille Sauvage <[email protected]>
Newsgroups gmane.comp.web.spip.devel
Message-ID <[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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.