У меня в настоящее время есть скрипт, который будет работать довольно долго (разветвлено в отдельном отдельном процессе). Он не будет работать очень часто, но когда он это сделает, он будет использовать довольно большой объем памяти, главным образом, при обработке (многих) файлов XLS (> 10 МБ).Использование PHP ini_set "memory_limit" безопасно
У меня в настоящее время установлен предел памяти до 1024 М, когда этот скрипт работает с ограничением по времени 6000 секунд. Это верхний предел, однако на самом деле это не займет много времени (возможно, всего 5 минут).
Поскольку требуется огромное количество памяти, мне интересно, как PHP/Apache управляет памятью.
- Является ли память автоматически освобождающейся при завершении сценария? Если нет, то когда это будет.
- Нужно ли мне неявно освобождать объекты?
- Возможно ли освободить память в то время изнутри скрипта
- Слишком много 1024M, как это повлияет на сервер в конечном итоге.
Я использую PHPExcel Library, кстати.
Используйте эту функцию, чтобы определить, сколько действительно нужно сценарию памяти. Http://php.net/manual/ru/function.memory-get-peak-usage.php (я имею в виду, чтобы отлаживать, чтобы выбрать оптимальное значение для memory_limit) –