2014-01-30 5 views
0

У меня есть скрипт, написанный на PHP:как очистить свой выходной буфер или кэш сервера после каждой итерации цикла

for ($i=0; $i<$ttl; $i++){ 
execute some code 
clear output cache 

} 

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

В настоящее время мои сценарии выдают ошибку памяти, я хочу получить удовольствие от нее, очистив кеш сервера, но как?

+0

вам может потребоваться увеличить время max_execution_time и memory_limit в php.in – user1844933

ответ

0

Используйте функцию unset ($ unset_parm). если объект db использует $ db_obj-> free_result();

0

Я не уверен, что это будет решить вашу проблему, но то, что вы ищете в руководстве ...

Использование ob_start() для запуска буфера:
http://fr2.php.net/ob_start

Использование ob_end_flush() отправлять и конец буфера:
http://www.php.net/manual/fr/function.ob-end-flush.php

Вы можете использовать ob_flush() вместо этого, чтобы не конец выходного буфера:
http://www.php.net/manual/fr/function.ob-flush.php

Советую оптимизировать свой сценарий, прежде чем ...

0

Технически говоря, что вы можете сделать из PHP является вызов flush() (или ob_flush()), который очищает выходной буфер. Но это не обязательно делает вывод доступным для клиента, так как веб-сервер может также буферизовать вывод (также в случае модулей сжатия и т. Д.).

Возможно, вам также необходимо проверить опцию php.ini output_buffering. В связанной ссылке флеш-функции есть некоторые интересные соображения в комментариях, проверьте их!