我通过PHP SSH连接到服务器,然后使用exec在该服务器上运行python程序。
如果我通过putty连接到该服务器并通过命令行执行相同的命令,我得到的结果如下:
...评价
...连接
检索数据......
1)声明1
2)声明2
N)声明N
Python程序是由其他人编写的......
当我通过SSH连接时,我可以执行$ssh->exec("ls")
并获得与服务器命令行一样正确的完整结果。但是当我尝试$ssh->exec("python myscript.py -s statement 0 0 0");
时,我无法获得完整的结果,但我得到一条随机线作为输出。
一般来说,如果有人遇到同样的问题并解决了,请告诉我。
由于
答案 0 :(得分:2)
可能是由缓冲输出引起的。尝试将-u
选项添加到Python命令中 - 这会强制stdout,stdin和stderr无缓冲。