Мой немедленный ответ должен быть: Вы не можете.
PHP не имеет потоковых возможностей, которые можно использовать в «пользовательском пространстве».
Теперь, если вы действительно хотите это сделать, есть несколько способов обойти это:
- Используйте функции exec для запуска другого процесса в фоновом режиме и отслеживания его через базу данных / файловую систему или что-либо еще.
- Используйте функцию fork, чтобы порождать другой процесс и отслеживать его через базу данных / файловую систему или что-то еще.
Недостатки этих двух подходов в том, что вы можете сделать это асинхронным, но если вам нужен обратный вызов, то это будет очень сложно и совсем не тривиально. Ну, это даже не будет обратный вызов, так как вы не сможете ждать его в сценарии, который выполняет асинхронный вызов. Это означает, что у вас может быть только какая-то схема мониторинга. Я бы предложил AJAX.