3 sites parmi une 20aine de sites identiques (utilisant exactement les mêmes composants + charte graphique) tombent en erreur 500 lorsque la compression des css est activée.
Pour les autres pas de problème.
Je n’accède pas aux logs des sites sur lesquels le problème est rencontré : avant de demander ces logs est-ce que quelqu’un a déjà rencontré ce type de problème et a une idée d’une potentielle cause ?
Oui quand la compression est activée c’est erreur 500 donc pas grand chose à voir non plus.
Je m’en vais donc demander les logs Spip et ceux du serveur…
Je reviens avec les éléments récoltés dans les logs qui correspondent aux plantages en erreur 500 :
PHP Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2097160 bytes) in /var/data/chemin-interne-du-site/plugins-dist/compresseur/lib/csstidy/class.csstidy.php on line 405
PHP Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 495616 bytes) in /var/data/chemin-interne-du-site/plugins-dist/compresseur/lib/csstidy/class.csstidy_print.php on line 288
Cela ressemble à un simple manque de mémoire sur le processus PHP qui effectue la compression !?
Mais il me semble étrange que seuls 3 sites soient impactés alors que tous les autres disposent du même code source et des mêmes conditions d’hébergement…
En fait c’est simplement l’option « Activer la compression des feuilles de style (CSS) » dans les fonctions avancées qui est cochée, rien de plus.
Mais en examinant les logs je constate d’autres erreurs PHP liées à un manque de mémoire disponible sur d’autres sites identiques :
PHP Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 876544 bytes) in /var/data/chemin-interne-du-site/plugins-dist/compresseur/inc/compresseur_concatener.php on line 116
PHP Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 32768 bytes) in /var/data/chemin-interne-du-site/plugins-dist/safehtml/lib/htmlpurifier/HTMLPurifier.standalone.php on line 10015
Cela ressemble à un besoin de mémoire supplémentaire non ?
Aujourd’hui le paramètre memory_limit est fixé à 32M.