我必须为用 python 编写的软件设计一个使用 PHP 的界面。目前这个软件是从命令行通过输入来使用的,主要是输入是一个文本文件。有一系列步骤,每一步都会调用一个 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
问问题
633 次
3 回答
2
如果您不在 Windows 上,您是否尝试2>&1
在命令末尾添加 (redirect stderr to 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#108713找到
医生也说
成功时返回命令输出的最后一行,失败时返回 FALSE。
因此,如果您尝试获取多行,则可能需要将其重定向到文件并读入。
于 2012-07-31T04:46:23.897 回答
2
试试这个
$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);
于 2012-07-31T05:46:48.080 回答
0
而不是system()
尝试在 `ticks` 中包围代码...
它具有类似的功能,但在返回输出的方式上略有不同。
于 2012-07-31T04:42:01.027 回答