Précédent   Forum des professionnels en informatique > PHP > Outils
Outils Forum d'entraide sur les outils pour développeurs PHP : EDI, installation, administration... Avant de poster : FAQ outils, toutes les FAQ PHP et les comparatifs
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/11/2007, 11h06   #1
Membre éclairé
 
Inscription : septembre 2006
Messages : 459
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : septembre 2006
Messages : 459
Points : 375
Points : 375
Envoyer un message via MSN à fucce
Par défaut Pb memoire php.ini

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
Citation:
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
Citation:
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!
fucce est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2007, 08h35   #2
Membre éclairé
 
Inscription : septembre 2006
Messages : 459
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : septembre 2006
Messages : 459
Points : 375
Points : 375
Envoyer un message via MSN à fucce
J'ai aussi trouvé ce lien là...
http://fr.php.net/manual/fr/ini.core.php
mais rien qui ne m'explique mon soucis. J'ai peut-être une hypothèse mais ce n'est qu'une hypothèse : php 5.1.2 ne prenait pas en compte ce paramètre et n'est pas limité en mémoire alors que la 5.2.4 l'est en natif?
fucce est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2007, 08h53   #3
Membre éclairé
 
Inscription : septembre 2006
Messages : 459
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : septembre 2006
Messages : 459
Points : 375
Points : 375
Envoyer un message via MSN à fucce
Ok je pense que je me suis répondu à moi-même alors merci à moi
En effet, j'ai exécuter phpinfo() avec mes 2 versions :
- sur la 5.1.2 aucune notion de memory_limit
- sur la 5.2.4 je retrouve mon paramètre memory_limit=128Mb
Reste maintenant à trouver le script le + lourd et à configurer la mémoire à allouer en fonction. Je sais, ce n'est pas une méthode très académique mais je ne vois que ça!
fucce est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h06.


 
 
 
 
Partenaires

Hébergement Web