Я пишу набор классов для искателя, он просматривает стартовую страницу, вытягивает три ссылки на основе параметров (найденных с использованием Simple Html Dom Parser, позволяющих использовать jquery-подобный селектор), сканирует эти страницы , затем переходит на страницу 2, выбирает следующие 3 страницы. Текущие максимальные страницы - 57 раз.Устранение PHP-приложения из памяти
Излишне говорить я получаю:
Разрешены памяти размером 50331648 байт исчерпаны сообщение об ошибке.
Есть ли способ, которым я могу избежать исчерпания memmory.
Чтобы сообщить вам, потянув содержимое первой страницы, запустите функцию go(), которая постоянно тянет страницы до тех пор, пока не будет достигнуто значение $ this-> maxpages. Полагаю, я мог бы запустить цикл при создании экземпляров классов, но это поможет.
Идеальный ответ, и я буду отмечать его как таковой. Просто, можете ли вы привести несколько примеров того, как освобождать данные/ссылки - это то же самое, что и разблокировать vars и т. Д.? –
Если ссылка на какой-либо объект отсутствует, она в конечном итоге будет уничтожена. Итак '$ foo = new Foo(); $ foo = new Foo(); 'не будет утечка каких-либо данных ... Вам не нужно' unset() 'первый экземпляр. Но циклические ссылки (например, родительские ссылки child и дочерние ссылки parent) не будут освобождены <5.3. Таким образом, такие вещи будут нарастать в течение всего срока действия скрипта. Найдите более подробные справочные разделы по PHP. – Matthew