2016-08-10 7 views
1

Я делаю приложение Android, в котором я сначала загружаю изображение на сервер и на сервер, я хочу выполнить скрипт Python с PHP. Но я не получаю никаких результатов. Когда я получаю доступ к скрипту Python из командной строки и запускаю python TestCode.py, он выполняется успешно и дает желаемый результат. Я бегу сценарий Python из PHP с помощью следующей команды:Выполнение скрипта Python из PHP

$result = exec('/usr/bin/python /var/www/html/Source/TestCode.py');

echo $result

Однако, если я запустить простую программу на Python из PHP это работает.

У PHP есть разрешения на доступ и выполнение файла.

Есть что-то, что мне не хватает здесь?

+0

Exec не печатает сам по себе, это будет * возврат * последняя строка вывода или поместит все строки вывода в качестве второго параметра (если имеется), в качестве справочной странице будет сказал вам: o/ – Jakumi

+1

Я изменил его и все еще проблема есть. Какие-либо предложения?? –

+0

Вы случайно знаете разницу между stderr и stdout? потому что exec - насколько мне известно - обрабатывает только stdout. Если ваш testcode.py производит только вывод stderr, вы ничего не увидите. – Jakumi

ответ

3
exec('/usr/bin/python /var/www/html/Source/TestCode.py', $output); 

var_dump($output); 

второй Параметр exec даст OUTPUT

EDIT:

exec('/usr/bin/python /var/www/html/Source/TestCode.py 2>&1', $output); 

2>&1 - перенаправлять stderr к stdout. Теперь в случае какой-либо ошибки также будет заполнено $output.

+1

Я получил вывод 'array (0) {}', что означает, что мой массив пуст, но когда я запускаю скрипт python, он дает мне вывод. –

+0

@AshutoshSingla обновлен. – Jigar

1
  1. Сначала проверьте питон PATH, используя «который питон» команды и проверить результат/USR/бен/питон.

  2. Проверьте свой «TestCode.py», если вы написали #!/Usr/bin/sh, замените его #!/Usr/bin/bash.

  3. Запуск этих команд exec ('/ usr/bin/python /var/www/html/Source/TestCode.py', $ result); эхо $ результат

+1

Я не получил никакого вывода. –

+1

Хорошо, просто отправьте свой файл TestCode.py, чем я попытаюсь изо всех сил. –

Смежные вопросы