exec () params / dev / null и ampersand в Windows и Linux? - PullRequest
2 голосов
/ 14 февраля 2012

С exec() Страница справочника:

Если программа запускается с этой функцией, чтобы она продолжить работу в фоновом режиме, вывод программы должен быть перенаправлен в файл или другой выходной поток. Неспособность сделать это будет заставить PHP зависать, пока не закончится выполнение программы.

Так что, похоже, мне нужно перенаправить вывод на что-то и добавить амперсанд под Linux, чтобы мой скрипт действительно работал в фоновом режиме .

Как я должен "перевести" /dev/null и & для Windows? Есть ли шанс использовать php:// для безопасности ОС?

exec('php ' . __DIR__ . '/script.php > /dev/null &');

1 Ответ

3 голосов
/ 14 февраля 2012
$WshShell = new COM("WScript.Shell");
$oExec = $WshShell->Run("cmd /C dir /S %windir%", 0, false);
...