Tous,Zend php memory memory_limit
Je travaille sur une application Web basée sur Zend Framework. Nous continuons à rencontrions des erreurs de mémoire sur notre serveur dev:
taille de la mémoire autorisée de XXXX octets épuisé (... AAAA essayé
Nous continuons à memory_limit de plus en plus php.ini, mais il est maintenant plus de 1000 mégas . Ce qui est une valeur memory_limit normale? Quels sont les suspects habituels en php/Zend pour l'exécution de mémoire? Nous utilisons le Propel ORM.
Merci pour toute l'aide!
Mise à jour I ne peut pas reproduire cette erreur dans mon environnement Windows . Si je mets memory_limit bas (disons 16M), j'obtiens la même erreur, mais le montant "essayé d'allouer" est toujours quelque chose de raisonnable. Par exemple: (essayé d'allouer 13344 octets) Si je mets la mémoire très bas sur le serveur (Fedora 9) (comme 16M), je reçois la même chose. erreurs de mémoire cohérentes et raisonnables. Cependant, même lorsque la limite de mémoire est fixée très haut sur notre serveur (128M, par exemple), peut-être une fois par semaine, j'obtiendrai une énorme erreur de mémoire folle: (essaye d'allouer 1846026201 octets). Je ne sais pas si cela pourrait éclairer davantage ce qui se passe. Nous utilisons propel 1.5. Il semble que la version actuelle sortira plus tard ce mois-ci, mais il ne semble pas que quelqu'un d'autre ait ce problème de toute façon. Je ne sais pas que Propel est le problème. Nous utilisons Zend Server avec PHP 5.2 sur la machine Linux et 5.3 localement.
D'autres idées? J'ai un ticket pour installer Xdebug sur la machine Linux.
Merci,
-rep
Les requêtes doivent être de l'ordre de 10-20 Mo pour les éléments de base. On dirait que vous essayez de récupérer un grand ensemble de données en utilisant Propel (comme une table SELECT * FROM avec beaucoup de lignes) comme d'autres l'ont dit –
Les montants que PHP a essayé d'allouer sont totalement hors de propos. Ils montrent juste le montant qui est arrivé à être demandé au moment où le script a atteint la limite de la mémoire. –
Voir si ma réponse aide: http://stackoverflow.com/a/11157739/881736 – Andy