Я пытаюсь выполнить команду, используя popen
а затем распечатаю ее прогресс через AJAX. Я нашел этот пост чрезвычайно полезным и получил AJAX для обмена сценариями. Проблема в том, что каждый раз, когда есть асинхронный GET для test
из ajax, ручка на popen
повторяется. Если у меня есть оболочка только один раз, то дескриптор уже недействителен. Я не могу понять, как заставить $ handle быть постоянным по отношению к запросам.
public function test() { chdir('my dir'); $handle = popen('make install 2>&1','r'); echo fread($handle, 2096); }
Будет только один пользователь, запрашивающий это за один раз …, только использующийся в конце назад. Выход из AJAX всегда «Установка в src».
Вы не можете этого сделать. Вам нужно будет запустить процесс make install в фоновом режиме (например, через exec()
) и перенаправить его на файл / канал, который вы можете прочитать при выполнении запросов AJAX.