PHP Calling Server Scripts - НЕ ПРОДОЛЖАЕТСЯ после вызова - PullRequest
0 голосов
/ 17 февраля 2012

Да, я вызываю скрипт Python в скрипте PHP. Этот сценарий PHP необходимо продолжить после вызова сценария Python.

Я попробовал все следующее, но PHP настаивает на том, чтобы дождаться ответа сценария.

Все пробовали: -

system('nohup python /home/process/script.py -i '.escapeshellarg($location).' &');
system('nohup python /home/process/script.py -i '.escapeshellarg($location).' 2>&1 &');
system('nohup python /home/process/script.py -i '.escapeshellarg($location).' < /dev/null 2>&1 &');
exec('nohup python /home/process/script.py -i '.escapeshellarg($location).' &');
exec('nohup python /home/process/script.py -i '.escapeshellarg($location).' 2>&1 &');
exec('nohup python /home/process/script.py -i '.escapeshellarg($location).' < /dev/null 2>&1 &');

Также пробовал с passthru и без nohup.

Любая помощь с благодарностью.

1 Ответ

2 голосов
/ 17 февраля 2012

Цитирование exec doc :

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

Вместо этого попробуйте:

exec('nohup python /home/process/script.py -i '.escapeshellarg($location).' &>/dev/null &');
...