Yet another otaku

某ロリコン的自白


  • 首頁
  • 歸檔
  • 分類
  • 標籤
  • 連結
  • 關於
  •    

© 2025 SgDylan

Theme Typography by Makito

Proudly published with Hexo

使用PHPRPC连接PHP与Python

發佈於 2015-11-20 評論 编程  Python PHP RPC PHPRPC 

PHP 调用 Python 后端有很多种方法,比如使用 exec() 函数,比如使用 XMLRPC 函数,比如使用 SOCKET,亦或是自己使用 WSGI 构建一个后端。当然不管什么方法,能做出东西就是 OK 的,这里使用 PHPRPC 协议进行实现。

Python服务端实现

*此处使用3.0.2版本PHPRPC
*并修改了 /src/init.py 中第 761 行的监听地址,将其修改指向 127.0.0.1:8765

#!/usr/bin/env python

from phprpc import PHPRPC_Server

def getinfo(vid, p):
    return str(vid) + str(p)

server = PHPRPC_Server()
server.add(getinfo)
server.debug = True
server.start()

PHP客户端实现

*使用3.0.2客户端
*请将这些文件放置于同一目录 bigint.php compat.php phprpc_client.php xxtea.php dhparams.php
*如果出现 gzdecode 重声明的错误,请修改 compat.php ,使用 if(!function_exists(‘gzdecode’)){}
*包裹住原来的函数 function gzdecode($data, &$filename = ‘’, &$error = ‘’, $maxlength = null)

<?php
//开启错误显示
ini_set('display_errors','1');
error_reporting(E_ALL);
include ("phprpc_client.php"); 

//从URL中读取参数
$vid = $_GET['vid'];
if($vid){
    echo $vid;
} else{
    $vid = -1;
}

$p = $_GET['p'];
if($p){
    echo $p;
} else{
    $p = -1;
}

//指向Py端的监听端口
$client = new PHPRPC_Client("http://127.0.0.1:8765");
//使用RPC端口上对应服务端的函数
echo $client->getinfo($vid, $p);
?>

分享到 

 上一篇: VS2015下编译VS2010项目的问题 下一篇: VisualStudio2015 进行 Windows 窗体开发 

© 2025 SgDylan

Theme Typography by Makito

Proudly published with Hexo