shell_exec не работает в фоновом режиме, любое другое решение?

Я использую PHP в Apache на CentOS. Мне нужно обслуживать пользователей, чтобы они могли удалять большие файлы одним кликом. пытаясь использовать shell_exec. но это не работает в фоновом режиме. он запускается и заставляет пользователя ждать.

моя команда:

$ D_command = "rm -rf videos / '$ Mdelete'";

shell_exec ($ D_command);

Спасибо!

5 ответов

Задница и в конце команды.

$D_command="nohup rm -rf videos/'$Mdelete' > /log/deletedfile.log 2>&1 &";
$PID = shell_exec("nohup $Command 2> /dev/null & echo $!");

http://php.net/manual/en/function.shell-exec.php

Попробуйте запустить

rm -rf videos/'$Mdelete' &

с помощью exec, Амперсанд указывает на бег на задний план

Попробуй это:

popen($D_command, 'r')

Я знаю, что это довольно старый вопрос, но у меня была та же проблема, и это было единственное рабочее решение после попытки и неудачи с exec,shell_exec, process_open:

$process = popen("nohup $D_command > /dev/null 2> /dev/null & echo $!", 'r');
$pid = fread($process, 32);
Другие вопросы по тегам