вызов php скрипта из другого php скрипта

12
E
На сайте с 21.09.2009
Offline
283
1488

Здравствуйте.

Господа программисты помогите пожалуйста.

Пишу парсер использую simplehtmldom проблема:

не освобождает память грузит по полной и прерывает по команде переполнения памяти.

Догадался вынести обработчик в отдельный файл теперь проблема с обращением. Пробовал использовать аякс с вызовом в теле скрипта работает, но если использовать в виде функции echo не работает в фунции как описанно в мануале.

Так вопрос если буду в фунции написанной на php использовать типа

inculude_once(скрипт обработчик);

будет ли грузится он в память постоянно (файл) или выгражутся как только он станет не нужным в функции?

RO
На сайте с 13.07.2009
Offline
88
#1

да 10 символов

E
На сайте с 21.09.2009
Offline
283
#2
RedOK:
да 10 символов

плохо :( варианты?

E
На сайте с 21.09.2009
Offline
283
#3

SDL Links, что естественно?

siv1987
На сайте с 02.04.2009
Offline
427
#4

http://simplehtmldom.sourceforge.net/manual_faq.htm

simplehtmldom:

Q: This script is leaking memory seriously... After it finished running, it's not cleaning up dom object properly from memory..

A: Due to php5 circular references memory leak, after creating DOM object, you must call $dom->clear() to free memory if call file_get_dom() more then once.
E
На сайте с 21.09.2009
Offline
283
#5

siv1987, огромнейшое человеческое СПАСИБО!

---------- Добавлено 01.07.2012 в 22:46 ----------

siv1987, еще вопросик а куда вставлять в фунции

после return вставлять?

$html->clear();

unset($html);

siv1987
На сайте с 02.04.2009
Offline
427
#6

Не знаю где в вашем коде, но явно не после return. Вставляйте после всех манипуляции с распаренным ДОМом. Можно догадаться по примеру что-ли


$html->clear();
unset($html);

вобще, локальные переменные функции уничтожаются после ее отработки.

E
На сайте с 21.09.2009
Offline
283
#7
siv1987:
Не знаю где в вашем коде, но явно не после return. Вставляйте после всех манипуляции с распаренным ДОМом. Можно догадаться по примеру что-ли


вобще, локальные переменные функции уничтожаются после ее отработки.

Про последнее тоже читал но на деле както по другому получается.

Запускаю скрипт на локальном сервере из денвера. Сначала вывалилась ошибка что достигнут предел памяти в 128 метров. Унсет для всех доступных переменных я сделал в своем скрипте.

Единственное место на которое я и грешу это simplehtmldom ковырять его никак не получается.

То что скрипт действительно жрет память проверял при помощи memory_get_usage()

Буду пробовать дальше...

Спасибо еще раз за помощь.

siv1987
На сайте с 02.04.2009
Offline
427
#8
easywind:
Про последнее тоже читал но на деле както по другому получается.

на деле получается именно так как и должно быть, а если что-то не так, ищите причину в руках.

Я не особо пользовался этой библиотекой, но когда-то писал на ней парсинг постов с форума, и никаких переполнений памяти не было. Подтормаживало немного, но скрипт благополучно отрабатывался до конца. Так что даже не знаю что вы там накодили...

E
На сайте с 21.09.2009
Offline
283
#9
siv1987:
на деле получается именно так как и должно быть, а если что-то не так, ищите причину в руках.
Я не особо пользовался этой библиотекой, но когда-то писал на ней парсинг постов с форума, и никаких переполнений памяти не было. Подтормаживало немного, но скрипт благополучно отрабатывался до конца. Так что даже не знаю что вы там накодили...

Вы сразу научились програмировать без ошибок? Вам тоже ни разу не говорили про кривые руки? Не стыдно? Можете помочь помогите не можете или не хотите не нужно линейку к моим рукам прикладывать.

littleMonster
На сайте с 28.03.2007
Offline
62
#10

Если все ложится от какого-то одного скрипта, то вам сервер другой просто нужен. Сколько данных у вас хранится в памяти в процессе работы скрипта - интуитивно можно понять. Сколько загрузили и не стерли - столько там и есть))

С уважением, Little Monster.
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий