php exception cause du travail de fond sur memory_limit
-
19-09-2019 - |
Question
si j'ai un travail de fond php, peut-être exécuter 4-5h ou plus causera-exception sur memory_limit
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");