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

时间:2016-10-13 10:55:17

标签: php python ssh centos exec

我通过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");时,我无法获得完整的结果,但我得到一条随机线作为输出。

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

由于

1 个答案:

答案 0 :(得分:2)

可能是由缓冲输出引起的。尝试将-u选项添加到Python命令中 - 这会强制stdout,stdin和stderr无缓冲。