Мне нужно запустить скрипт Python из PHP
Я должен разработать интерфейс с использованием PHP для программного обеспечения, написанного на Python. В настоящее время это программное обеспечение используется из командной строки, передавая ввод, в основном ввод является текстовым файлом. Есть ряд шагов, и для каждого шага вызывается скрипт на python. Каждый шаг принимает текстовый файл в качестве входных данных и генерирует выходной текстовый файл в папке, выбранной пользователем. я использую system()
из php, но я не вижу вывод, но когда я использую ту же команду из командной строки, он генерирует вывод. Пример команды:python /software/qiime-1.4.0-release/bin/check_id_map.py -m /home/qiime/sample/Fasting_Map.txt -o /home/qiime/sample/mapping_output -v
3 ответа
Попробуй это
$script = 'software/qiime-1.4.0-release/bin/check_id_map.py -m /home/qiime/sample/Fasting_Map.txt -o /home/qiime/sample/mapping_output -v';
$a = exec($script);
Если вы не в Windows, вы пытались добавить 2>&1
(перенаправить stderr в stdout) в конец команды?
$output = system("python /software/qiime-1.4.0-release/bin/check_id_map.py -m /home/qiime/sample/Fasting_Map.txt -o /home/qiime/sample/mapping_output -v 2>&1", $exitcode);
Найдено по http://www.php.net/manual/en/function.system.php
Также док говорит, что это
Возвращает последнюю строку вывода команды в случае успеха и FALSE в случае ошибки.
Поэтому, если вы пытаетесь получить несколько строк, вам может понадобиться перенаправить его в файл и прочитать его в.
Вместо system()
попробуйте окружить код в `ticks`...
Он имеет похожую функциональность, но ведет себя немного по-другому в том, как возвращает результат.