无法从shell_exec php浏览器运行带有pexpect模块的python脚本

时间:2018-09-05 11:31:22

标签: php python

我有两台Linux服务器,在一台服务器上有test.py脚本,其中包含pexpect模块,在另一台Linux机器上有test.py脚本ssh并执行命令。 现在,当我从cli运行它时,它工作正常,但是当我从浏览器中通过php页面运行它时,它就无法工作。请帮忙!!

#!/usr/bin/env python3

import sys
import pexpect
import os
import imp
import time


#uname = sys.argv[1]
#passwd = sys.argv[2]
try:
        child = pexpect.spawnu('ssh username@reporter')
        child.expect('\?')
        child.sendline('yes')
        child.expect('password:')
        child.sendline('passs@123')
        child.expect('\$')
        child.sendline('sudo su - tftp')
        child.expect('\$')
        child.sendline('uname -a')
        child.expect('\$')
        sys.stdout.write(child.before)
        f = open('j.txt','a')
        f.write(child.before)
except Exception as e:
        print(e)

那是test.py

<!DOCTYPE html>
<html>
<body>





<?php
chdir('/home/WHOIS');
$cmd = "python3 test.py";
while (@ ob_end_flush()); // end all output buffers if any

$proc = popen($cmd, 'r');
echo '<pre>';
while (!feof($proc))
{
    echo fread($proc, 4096);
   @ flush();
   echo '<br>';
}

?>

</body>
</html>

这是php代码。 我已经检查了权限,它们很好。

文件权限。

-rw-rw-r-- 1 www-data www-data  294 Sep  5 12:31 test.php
-rwxrwxr-x 1 www-data www-data  514 Sep  5 13:30 test.py

0 个答案:

没有答案