Почему я не могу получить вывод из PHP, используя Python Popen

У меня есть программа, которая вызывает PHP из python, с popen, и я не получаю ни stdout, ни stderr из моих вызовов.

Проблемные линии:

task = subprocess.Popen(
['/usr/bin/php', exec_path],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
env=env
)
stdout_str, stderr_str = task.communicate()
task_result = task.returncode

Когда я заменяю путь PHP на ls, он работает:

task = subprocess.Popen(
['/bin/ls', exec_path],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
env=env
)

stdout_str, stderr_str = task.communicate()
task_result = task.returncode
# Works as expected

И когда я запускаю команду PHP из оболочки, она производит вывод.

Для справки, файл PHP:

<?
echo "YAY";
?>%

1

Решение

Я исправил свою проблему. Ранее я написал содержимое файла и забыл его очистить (), чтобы при вызове exec файл был пустым.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]