python调用PHP方法

时间:2023-03-10 06:17:37
python调用PHP方法
PHP代码如下:<?php

$method = $argv[1];
$param1 = $argv[2];
$param2 = $argv[3];
if(isset($method) && $method != "")
{
    echo $method($param1,$param2);
}
else
{
    echo "No function to call.";
}

//如果有返回结果,必须使用echo打印才能获取
function test1()
{
    return "php的test1方法被调用了";
}

function test2()
{
    $str = "php的test2方法被调用了";
    return $str;
}

function test3($param1,$param2)
{
    if($param1 != "")
    {
        return $param1."+".$param2;
    }
    else
    {
        return "传入参数为空";
    }
}

python代码如下:

# -*- coding:utf-8 -*-
import subprocess

#执行CMD命令
def run_cmd(cmd):
    p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
    stdout, stderr = p.communicate()
    if stdout:
        stdout = stdout.rstrip()
    if stderr:
        stderr = stderr.rstrip()
    return (stdout, stderr, p.returncode)

#如果函数有返回结果,必须使用echo打印才能获取
method='test3'
param1 = u'参数1'
param2 = u'参数2'
a,b,c = run_cmd('C:\\php-5.6.25\\php.exe h.php ' + method + " " + param1 + " " +param2)
# print(a.decode('utf-8'))
print(a.decode('gbk'))
# print(b)
# print(c)

# a,b,c = run_cmd('ipconfig')
# print(a.decode('gbk'))
# print(b)
# print(c)