【问题标题】:How to call Python function in PHP passing variable argument如何在PHP中调用Python函数传递变量参数
【发布时间】:2016-11-28 06:08:24
【问题描述】:

我正在使用 '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}]}

谢谢!

【问题讨论】:

    标签: php python exec


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-16
      • 2019-12-20
      • 1970-01-01
      • 2010-11-28
      • 2013-08-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多