Я пишу набор классов для искателя, он сканирует стартовую страницу, извлекает три ссылки на основе параметров (найденных с использованием Simple Html Dom Parser, позволяющих использовать jquery-подобный селектор), сканирует эти страницы, затем переходит на страницу 2, выбирает следующие 3 страницы. Текущие максимальные страницы – 57 раз.
Излишне говорить, что я получаю:
Разрешенный размер памяти 50331648 байт исчерпал сообщение об ошибке.
Есть ли способ, которым я могу избежать исчерпания memmory.
Чтобы вы знали, после того, как вы поместили содержимое первой страницы, я запустил функцию go (), которая постоянно тянет страницы, пока не будет достигнуто значение $ this-> maxpages. Полагаю, я мог бы запустить цикл при создании экземпляров классов, но это поможет.
Вы можете настроить ограничение памяти:
ini_set('memory_limit', '128M');
Но я попытаюсь заставить скрипт использовать меньше памяти. Убедитесь, что вы освобождаете данные / ссылки на все, что больше не требуется.
memory_get_usage()
может быть полезна при отладке, в которой накапливается использование памяти.
Кроме того, если вы не используете PHP 5.3, вы можете рассмотреть возможность обновления с тех пор, как сборщик мусора лучше.