3 votes

Demander à PHP de vider le tas en cas d'exception OutOfMemory

Je suis actuellement en train de déboguer un script qui rencontre constamment des exceptions OutOfMemory. Il est exécuté en tant que cronjob et fonctionne généralement bien, mais lorsque le cronjob n'a pas été exécuté pendant un certain temps (pour une raison quelconque), le script doit gérer trop d'éléments qui ont été mis en file d'attente et se heurte à une exception OutOfMemory.

En examinant le code, je n'ai pas été en mesure de repérer le problème. Je pense que l'un des appels de fonction itérative pourrait entraîner une fuite de mémoire, mais je ne suis pas sûr de savoir lequel et où. Existe-t-il une option permettant à PHP de vider le tas lorsqu'une exception OutOfMemory se produit ? Je pourrais peut-être identifier le problème à partir de là (très probablement).

0voto

jgmjgm Points 36

Je n'ai jamais vu PHP fournir une fonction native pour cela, mais quelques autres choses pourraient exister :

Essayez : https://github.com/mcfunley/php-heap/blob/master/php-heap.py

Il serait également possible d'écrire une extension pour obtenir le même résultat.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X