Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Отладка сайта
Форумы портала PHP.SU » » Вопросы новичков » Отладка сайта

Страниц (1): [1]
 

1. shurik330 - 12 Декабря, 2011 - 14:37:40 - перейти к сообщению
Здравствуйте.
Столкнулся со следующей проблемой.
Есть 8 сайтов с разными товарами. На каждом из сайтов, примерно по 250 товаров.
Я спарсил все товары только с одного сайта. По полученной ссылки на товар я спарсил описание и адрес. Отправил все в базу данных.
Проделывая вышеупомянутые действия вылетала ошибка: Fatal error: Allowed memory size of 73400320 bytes exhausted (tried to allocate 72 bytes) in...
Решил данную проблему с помощью файла .htaccess (php_value memory_limit 128M). Далее мне нужно провести геокодирование полученных адресов, что еще сожрет памяти. Также остается проделать тоже самое еще с 7-ю сайтами. Я еще не пробовал, но думаю, что хостинг, на котором лежит сайт, не выдержит.
Как можно выйти из подобной ситуации?
Можно ли все действия разбить на отдельные файлы и подключить потом их через include или require (есть ли в этом смысл)??
Или нужно покупать выделенный хостинг??
Буду очень благодарен всем, кто решит помочь ))
2. Panoptik - 12 Декабря, 2011 - 14:39:40 - перейти к сообщению
разбейте просто парсинг на этапы, например, по 50 штук
3. shurik330 - 12 Декабря, 2011 - 14:49:04 - перейти к сообщению
Я пользовался simpleHTMLdom
Это может повлиять?
4. Panoptik - 12 Декабря, 2011 - 14:52:40 - перейти к сообщению
если страницы сайта большие и вы не удаляете созданные объекты, а только создаете, то конечно вам никакой памяти не хватит
5. shurik330 - 12 Декабря, 2011 - 14:58:10 - перейти к сообщению
А как тогда можно удалить созданный объект??
6. Panoptik - 12 Декабря, 2011 - 15:05:35 - перейти к сообщению
если вы действительно используете много "$newobject = new simpleHTMLdom;" то после попробуйте использовать "unset($newobject);"
7. shurik330 - 12 Декабря, 2011 - 15:09:59 - перейти к сообщению
Что-то unset не очень помог
А если все действия разбить на отдельные файлы и подключить потом их через include или require (есть ли в этом смысл)?
8. snikers987 - 12 Декабря, 2011 - 15:20:12 - перейти к сообщению

 

Powered by ExBB FM 1.0 RC1