Я использовал много способов в Windows, чтобы команда запускалась без прерывания работы браузера. Всякий раз, когда я пытаюсь:
exec("ping 8.8.8.8")
это заставляет браузер ждать завершения процесса.
После завершения процесса он отображает вывод. Итак, я хочу выполнить команду (например, ping) без прерывания работы браузера и сохранить вывод в переменной.
В моем случае я хочу показать диалог до тех пор, пока пинг не закончится, и показать вывод позже.
Я старался:
exec(start \B myexecutable.exe)
безуспешно. Также пытался
pclose(popen(start \B myexecutable.exe))
Любое предложение приветствуется.
Возможно поздний ответ, но для меня это работает на Windows & Linux:
if (isWindows()) {
pclose(popen("start /B php myfile.php -args", 'r'));
} else {
exec("php myfile.php -args");
}
Вам нужно активировать директиву php
ignore_user_abort(true)
Других решений пока нет …