Python调用PHP的函数

Python调用PHP的函数**

最近在做支付相关的产品,当然是去第三方的平台,公司使用的是Python语言,支付公司只有PHPJavaDemo,研究了半天,涉及到业务字段加密的部分,决定用Python去调用支付公司提供的PHP加密/解密函数。

没有PHP开发经验,百度了一下:找到
** http://blog.csdn.net/houqd2012/article/details/11266319 **
还不错,免去了翻墙Google

PHP参数传入:
我们通过在URL后面追加参数的方式传入参数,如下:

php -f ./php_aes.php method args1 args2

PHP文件:php_aes.php
PHP函数:method
传入参数:args1 args2
Python就是:

method = 'aes_en'
rsaKey = 'MUDBFOSJIF=='
data = 'Leou'
proc = subprocess.Popen(['php -f ./ucf/php_aes.php ' + method + ' ' + rsaKey + ' ' + data], shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
response = proc.stdout.read()

其中要注意的是,不管是函数名,还是参数,都是在文件URL后追加,而且要用空格分开。**

PHP文件中参数获取:
不用多说,直接在PHP文件内获取URL后面

$method = $argv[1];
$rsaKey = $argv[2];
$data = $argv[3];

现在我们有了方法/函数名,有了参数,该怎么做呢?
还用多说?当然去调用方法,并且调用的同时,把获取的参数传进去。

if(isset($method) && $method != ""){
    return $method($data, $key);
}else{
    echo "No function to call.";
}

切记,调用的方法,内部处理完成之后,要想在Python中获取返回值,要使用print_r echo print输出。**

function aes_en($encrypted,$key) {
    print_r ("success");
}

这样就实现了Python调用PHP的函数。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容