PHP exec 命令未从 Python 脚本返回完整数据

PHP exec command is not returning full data from Python script

我正在通过 PHP SSH 连接到服务器,然后使用 exec 在该服务器上 运行 一个 python 程序。

如果我通过 putty 连接到该服务器并通过命令行执行相同的命令,我得到的结果如下:

Evaluating....

Connecting....

Retrieving data....

1) Statement 1

2) Statement 2

.

.

.

N) Statement N

Python程序是别人写的...

当我通过 SSH php 连接时,我可以执行 $ssh->exec("ls") 并获得与在服务器命令行上一样正确的完整结果。但是当我尝试 $ssh->exec("python myscript.py -s statement 0 0 0"); 时,我无法获得完整的结果,但我得到了一条随机线作为输出。

总的来说,如果有人遇到同样的问题并解决了,请告诉我。

谢谢

可能是输出缓冲造成的。尝试将 -u 选项添加到您的 Python 命令 - 这会强制 stdout、stdin 和 stderr 无缓冲。