фоновое задание php вызывает исключение в memory_limit - PullRequest
2 голосов
/ 12 марта 2010

если у меня есть фоновая работа php, может потребоваться запустить 4-5 часов или более это вызовет исключение в memory_limit

Ответы [ 3 ]

1 голос
/ 12 марта 2010

PHP имеет очень примитивный менеджер памяти, и сценарии не предназначены для работы очень долго. Вы можете обновить ограничение памяти следующим образом:

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

Но, вероятно, у вас все еще будут проблемы с памятью. Вы можете попробовать добавить тонну unset () в ваш скрипт, и это может немного помочь. Но утечки памяти, вероятно, связаны с PHP и его расширениями C / C ++, которые вы не можете контролировать. В прошлом мне приходилось переписывать фоновые задачи на Java.

1 голос
/ 12 марта 2010

В вашем php.ini увеличьте сумму для memory_limit.

См. http://www.ducea.com/2008/02/14/increase-php-memory-limit/

0 голосов
/ 12 марта 2010

Проверьте следующие команды PHP:

// 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");
...