Question

si j'ai un travail de fond php, peut-être exécuter 4-5h ou plus causera-exception sur memory_limit

Était-ce utile?

La solution

PHP a un gestionnaire de mémoire très primitive et les scripts ne sont pas conçus pour fonctionner très longtemps. Vous pouvez mettre à jour la limite de mémoire comme ceci:

<?php ini_set(“memory_limit”,”256M”); ?>

Mais vous aurez probablement encore des problèmes de mémoire. Vous pouvez essayer d'ajouter une tonne de unset () est à votre script et cela peut aider un peu. Mais les fuites de mémoire sont probablement en PHP et ses extensions C / C ++ que vous ne pouvez pas contrôler. Dans le passé, j'ai dû réécrire les tâches de fond en Java.

Autres conseils

Dans votre php.ini augmenter le montant pour memory_limit.

Voir http://www.ducea.com / 2008/02/14 / php-augmentation-memory-limit /

Vérifiez les commandes PHP suivant:

// Sets the max time in seconds the script can run
set_time_limit($sec);
// Increases the memory limit (default is 1.5mb)
ini_set("memory_limit", "256M");
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top