Поведение кэша сценария бесконечного цикла

У меня есть domain.com, который работает отлично. У меня есть php-скрипт в моем домене, который представляет собой бесконечный цикл, который спит с удвоенными периодами (для длинных целей опроса), скажем, бесконечный.php.

$sleepDuration = 1;
while(true) {
  //check database
  // do some stuff 
 if(some new result) {
    return jsonresult
  } else {
    $sleepDuration *= 2;
    sleep($sleepDuration)
    continue;
  }
}

Если я запускаю этот скрипт через браузер (в целях тестирования или ж/д) с URL-адресом domain.com/infinite (я использую htaccess для удаления расширения .php в URL-адресе), этот файл кэшируется, и вот что самое неприятное: с этого момента на domain.com не будет отвечать браузеру. Веб-страница больше не открывается. (Мне нужно очистить все мои кэшированные файлы, чтобы он снова заработал).

  1. Как я могу предотвратить кеширование таких файлов php?
  2. Могу ли я удалить из кеша только эту версию файла php?

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


person Can Gokdere    schedule 19.07.2016    source источник
comment
В дополнение к тому, что это дубликат, кеширование определяется заголовками http, которые вы не показали нам, какие у вас есть.   -  person symcbean    schedule 19.07.2016
comment
... и ... ваша методология опасно ошибочна. Вы не сказали нам, если ваш код вызывает set_time_limit(), но это не влияет на выполнение во время сна(). Вы увеличиваете время сна, удваивая его без верхнего предела. Если вы намеренно решили написать сценарий для DOS-сервера, вы не сможете добиться большего успеха, чем то, что вы опубликовали здесь.   -  person symcbean    schedule 19.07.2016
comment
Это не дубликат, потому что я не отправляю заголовки, в отличие от другого вопроса. Скрипт - это просто php, и основная проблема в том, что, поскольку он уже находится в бесконечном цикле, я не могу отправлять заголовки кеша. Я установил set_time_limit на 60, но мой вопрос все еще остается. Я не хочу, чтобы моя веб-страница ждала этого файла в кеше 60 минут, я просто не хочу, чтобы этот скрипт кэшировался, и я не могу отправлять заголовки кеша. Есть ли другой способ предотвратить кеширование этих файлов php?   -  person Can Gokdere    schedule 19.07.2016
comment
Да, вы отправляете заголовки - возможно, не явно в вашем коде, но ваш веб-сервер и php добавят их, даже если вы этого не сделаете.   -  person symcbean    schedule 19.07.2016