繁体   English   中英

如何在PHP中调用Python函数传递变量参数

[英]How to call Python function in PHP passing variable argument

我正在使用'exec'调用函数并将参数定义为变量。

$jsonrequest = escapeshellarg(json_encode($request, JSON_NUMERIC_CHECK));
$solveroutput = exec('sudo python /var/www/website.com/services/run.py $jsonrequest');

我已经尝试过像这样打电话:

$solveroutput = exec("sudo python /var/www/website.com/services/run.py '$jsonrequest'");  

$solveroutput = exec("sudo python /var/www/website.com/services/run.py $jsonrequest");  

而且没有'sudo'

当我直接在服务器(AWS)的命令行中调用该函数时,我收到结果,如下所示。 上面的$jsonrequest正是我在命令行中输入的方式。

[lsenna@ip ~]$ sudo python /var/www/website.com/services/run.py '{"max_split":4,"order":681,"max_cost_frac":0.1,"items":[{"productid":8745,"qty":1,"estimatedprice":53.6}],"bids":[{"vendorid":1,"minimum_order":0,"items":[{"productid":8745,"qty":1,"estimatedprice":100}]}]}'

响应:

{"status": "OK", "order": 681, "deliveries": [{"vendorid": 1, "productid": 8745}]}

谢谢!

其中一种方法是使用像Crossbar.io这样的应用程序路由器和像WAMP(Web Apps Messaging Protocol)等协议。您的Python函数可以是发布者,您的PHP函数可以是订阅者。 不建议初学者使用此方法,因为它需要相当多的编程经验。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM