PPython 项目似已停滞掩护,作者是 diaoyifei。在 Google Code 停滞运营之后,在 GitHub 上未找到该库的新仓库地址,特此将此仓库重新支配到 GitHub 上,并遵照其 Apache 容许证进行进一步开拓和掩护。
安装安装之前先要已有可正常事情的 PHP 及 PYTHON 3 运行环境,PHP 端及 Python 端可以位于不同主机,保持通讯正常即可。
将本仓库下载后的文件解压于一个目录,可以是任意目录,记为 {PPYTHON_PATH}。

根据须要,其它文件可以分开支配,php_python.py 与 process.py 须在 {PPYTHON_PATH} 下。
在 php_python.py 中设定 LISTEN_PORT,并在 php_python.php 中修正 LAJP_IP 和 LAJP_PORT 值,使两处保持同等。
如准备将 PPython 配置为做事,将 ppython.service 复制到 /usr/lib/systemd/system/ 下,并将个中的 {PPYTHON_PATH} 改为实际路径。运行以下命令可使 ppython 做事在系统启动时自动运行:
chkconfig ppython on用法
命令走运行 php_python.py,或启动 ppython 做事,确认 Python 已按设定端口进行监听。
在 PHP 项目中引入 {PPYTHON_PATH}/php/php_python.php,在须要实行 Python 处理的位置添加以下代码:
$result = ppython({python_func},{params}...)
个中 {python_func} 是希望调用的 Python 函数,如 test::go,相应地 {PPYTHON_PATH} 下应具有 test.py 文件,且个中存在 go 函数。运行结果保存在 $result 中,可以是数组或工具等繁芜构造。{params} 可以是 0 个或任意多个,按普通 PHP 调用办法通报即可。
通报参数与返回结果数据构造不限,只需 PHP 与 Python 端均能识别其序列化与反序列化,PHP 端由 serialize() 与 unserialize() 处理,Python 端由 process.py 中的 z_encode() 与z_decode() 函数支持完成转换。
备表明释这种将 Python 和 PHP 连接起来的办法不同于大略的 exec()、system() 办法,具有一定的创新性和上风。
开源项目地址https://github.com/maiwang79/PPython-again