执行Python脚本的PHP无法按预期工作

时间:2016-06-10 09:11:08

标签: php python ip-address

我有一个工作的python脚本可以ping我的手机,当我从命令行在Raspberry Pi上运行它时,我得到了正确的输出。但是,当我从PHP文件调用此脚本时,输出错误。

这是Python脚本:

#!/usr/bin/python

import subprocess
import time

def checkIfHome(ip):
        output = subprocess.Popen(["ping","-c", "1", ip],stdout = subprocess.PIPE,shell=False)
        check = output.communicate()[0]
        check = output.returncode

        return check

ipAddress1 = "192.168.1.51"
residentHome1 = checkIfHome(ipAddress1)

if residentHome1 == 0:
    print "Welcome Home!"
else:
    print "No one home"

这是php脚本:

error_reporting(E_ALL); 
ini_set('display_errors', 1);

$read = exec("python /var/www/html/thuis.py", $full_output);
if ($read=="No one home"){
    echo "No one home"; 
};
if ($read=="Welcome Home!"){
    echo "Someone home";
}

我得到的是“没有人回家”,而Python脚本显示“欢迎回家!”如果它直接从命令行运行。我认为这与Python脚本中的某些延迟有关,但我不确定。

有人可以对此有所了解吗?使用php跟踪网络中移动设备存在的另一种更好的方法也可以。

0 个答案:

没有答案