是否可以在PHP中运行Python脚本并相互传输变量?
我有一个类以某种全球方式废弃网站的数据.我想让它更具体,并且已经有几个网站专用的pythons脚本.
我正在寻找一种方法来将我的课程纳入其中.
两者之间是否安全可靠的数据传输甚至可能?如果是这样的话会变得多么困难?
Tom*_*rdt 61
您通常可以使用通用语言格式在语言之间进行通信,以及使用stdin
和stdout
传递数据.
PHP/Python使用shell参数通过JSON发送初始数据的示例
PHP:
// This is the data you want to pass to Python
$data = array('as', 'df', 'gh');
// Execute the python script with the JSON data
$result = shell_exec('python /path/to/myScript.py ' . escapeshellarg(json_encode($data)));
// Decode the result
$resultData = json_decode($result, true);
// This will contain: array('status' => 'Yes!')
var_dump($resultData);
Run Code Online (Sandbox Code Playgroud)
蟒蛇:
import sys, json
# Load the data that PHP sent us
try:
data = json.loads(sys.argv[1])
except:
print "ERROR"
sys.exit(1)
# Generate some data to send to PHP
result = {'status': 'Yes!'}
# Send it to stdout (to PHP)
print json.dumps(result)
Run Code Online (Sandbox Code Playgroud)
dbr*_*dbr 10
您正在寻找"进程间通信"(IPC) - 您可以使用类似XML-RPC的东西,它基本上允许您在远程进程中调用函数,并处理语言之间所有参数数据类型的转换(所以你可以从Python调用PHP函数,反之亦然 - 只要参数是受支持的类型)
Python有一个内置的XML-RPC服务器和一个客户端
该PHPXMLRPC库有一个客户端和服务器
Python服务器和客户端以及PHP客户端和服务器都有示例