e_moon
Новичок
Sitemap и память в PHP
Привестствую, надеюсь услышать Ваше мнение по такому вопросу:
Стоит задача создания он-лайн генератора Sitemap, средствами PHP 4 и 8 Мб выделяемой скрипту памяти. Алгоритм написал, работает отлично, с одним "но": когда сайт имеет большое кол-во страниц (допустим тыщ 50), либо когда вес каждой отдельной страницы сайта переваливает кб так за 300-400 - через некоторое время скрипт расходует выделенные ему при запуске 8 метров и молча прекращает работу.
Эту проблему я довольно каряво поборол - скрипт сам себя перезапускает после нахождения 100 ссылок (функции get_memory_usage() к сожалению нет) и продолжает работу, исключая уже найденое.
Другая проблема заключается в необходимости занесения в память скрипта массива найденых ссылок из которого в завершение работы необходимо создать sitemap.xml.
Единственная идея, которая приходит в голову, как это обойти - разбивать итоговый файл sitemap на части (условно по тем же 100 ссылок).
Могу ошибаться, но насколько я понимаю PHP не предоставляет возможность очистки в процессе работы скрипта использованной памяти? Соответственно выходит что PHP 4 не годится для реализации такой задачи? Хотелось бы ошибаться, но... Что скажите?
Привестствую, надеюсь услышать Ваше мнение по такому вопросу:
Стоит задача создания он-лайн генератора Sitemap, средствами PHP 4 и 8 Мб выделяемой скрипту памяти. Алгоритм написал, работает отлично, с одним "но": когда сайт имеет большое кол-во страниц (допустим тыщ 50), либо когда вес каждой отдельной страницы сайта переваливает кб так за 300-400 - через некоторое время скрипт расходует выделенные ему при запуске 8 метров и молча прекращает работу.
Эту проблему я довольно каряво поборол - скрипт сам себя перезапускает после нахождения 100 ссылок (функции get_memory_usage() к сожалению нет) и продолжает работу, исключая уже найденое.
Другая проблема заключается в необходимости занесения в память скрипта массива найденых ссылок из которого в завершение работы необходимо создать sitemap.xml.
Единственная идея, которая приходит в голову, как это обойти - разбивать итоговый файл sitemap на части (условно по тем же 100 ссылок).
Могу ошибаться, но насколько я понимаю PHP не предоставляет возможность очистки в процессе работы скрипта использованной памяти? Соответственно выходит что PHP 4 не годится для реализации такой задачи? Хотелось бы ошибаться, но... Что скажите?
