Я пытаюсь вызвать script, который занимает несколько секунд (веб-службы с третьим лицом), используя вызов PHP exec. После долгих боев я уменьшил это до классического примера приветствия. Вызывающий script выглядит так:
exec('/usr/bin/php /home/quote2bi/tmp/helloworld.php > /tmp/execoutput.txt 2>&1 &');
Когда я запустил это, вывод execoutput.txt
содержит копию вызывающей страницы script, а не hello world
, как я ожидал.
Почему я не могу запустить этот PHP script с помощью exec? Обратите внимание, что когда я изменяю команду на что-то вроде ls -l
, вывод является списком каталогов, как и ожидалось. Кстати, в случае, если это имеет значение, я сделал chmod вызванный script до 755...
Обновление. Я переместил вызов exec в конец вызывающего script и по крайней мере теперь я не вижу вызывающего script, выполненного в результате. спасибо для плакатов, и я попробую некоторые из этих идей.
Help!
Спасибо Стив