Bonjour à toutes et à tous,
nous sommes en train de tester notre intranet en faisant évoluer nos versions de PHP (5.1.2 ->5.2.4) et Apache (2.0.52 -> 2.2.6).
Sauf que certaines de nos "grosses" requêtes MySQL et MSSQL provoquent des erreurs de type
Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 6 bytes)
On peut résoudre ces problèmes en augmentant le memory_limit de php.ini mais ce que je ne comprends pas c'est que ces problèmes ne se produisaient pas avec PHP 5.1.2 (memory_limit = 8M).
J'ai trouvé ça sur PHP.net
Passer de PHP 5.1.x à PHP 5.2.x
Amélioration du gestionnaire de mémoire, et augmentation du niveau de mémoire par défaut.

Le nouveau gestionnaire de mémoire consomme moins de mémoire et travaille plus vite que sa version précédente. Il demande de la mémoire au système par gros bloc, puis gère son stocke lui-même. La valeur de memory_limit dans php.ini est vérifiée non plus pour chaque appel à emalloc() mais pour chaque allocation de bloc. Cela signifie que memory_limit est bien plus précis qu'avant, car le vieux gestionnaire de mémoire ne calculait pas toute la mémoire consommée par les allocations.

Grâce à cette nouvelle précision, la quantité de mémoire semble avoir augmenté, mais ce n'est pas le cas. Pour s'adapter à cette augmentation artificielle, la directive memory_limit a été augmentée de 8 à 16 Mo.
Si quelqu'un peut m'en dire plus, ce serait avec plaisir! Merci d'avance!