У меня было много проблем с такого рода процессами под Windows; Моя ситуация немного отличалась тем, что меня не волновал ответ «сценария» - я хотел, чтобы сценарий запускался и позволял проходить другим запросам страницы, пока он был занят работой.
По какой-то причине; У меня были проблемы с ним: либо зависание других запросов, либо истечение времени ожидания примерно через 60 секунд (для apache и php было установлено время ожидания примерно через 20 минут); Также оказывается, что Firefox отключается через 5 минут (по умолчанию), так что после этого вы не сможете узнать, что происходит через браузер, не изменив настройки в Firefox.
В итоге я использовал методы open и process close для открытия php в режиме cli, например:
pclose(popen("start php myscript.php", "r"));
Это (при запуске) откроет процесс php, а затем уничтожит процесс запуска, оставив php запущенным так долго, как это необходимо - опять же, вам нужно будет убить процесс, чтобы вручную завершить его. Вам не нужно было устанавливать тайм-ауты, и вы могли позволить текущей странице, которая вызвала его, продолжаться и выводить некоторые дополнительные сведения.
Единственная проблема, связанная с этим, заключается в том, что если вам нужно отправить в сценарий какие-либо данные, вы либо сделаете это из другого источника, либо передадите его по «командной строке» в качестве параметров; что не так безопасно.
Хорошо поработал для того, что нам было нужно, и гарантирует, что скрипт всегда запускается и может работать без каких-либо перерывов.