簡體   English   中英

如何在 php 中使用 exec() function 運行 python 文件

[英]how to run a python file using exec() function in php

這是我的 php 表格 (form1.php)

<html>
<body>

<form action="process1.php" method="post">
E-mail: <input type="text" name="email"  required ><br><br>
Password: <input type="text" name="pass"  required ><br><br>
<input type="submit">
</form>
        <html>
    <body>

過程.php

    <?php $email = $_POST["email"]; ?>
    <?php $pass  = $_POST["pass"]; ?>
    
    
    <?php echo($email) ?>    <br>
    <?php echo($pass) ?>   <br> 
   

我想使用來自 php 的 $email、$pass 變量值。 我想使用 python 將變量中的數據發送到我的 salesforce 帳戶到自定義 object ...

python 文件

import requests
import json
from simple_salesforce import Salesforce

sf = Salesforce(username="USER", password= "PWD",security_token="" )
print(sf)
params = {
    "grant_type": "password",
    "client_id": "X0000XXXX", 
    "client_secret": "XX00000X",
    "username": "XXX0XX", 
    "password": "XX0XX"
}

dataset = [{'email__c':'$email(this should be the variable from php)', 'password__c': '$pass (this should be the variable from php) '}]
sf.bulk.aryan__c.insert(dataset,batch_size=1,use_serial=True)
    
   

首先,您需要使您的 python 文件 CLI 兼容。 您需要抓住 arguments 最簡單的方法是這樣的:

import sys

def myFunc(user, pwd):
    print(user,pwd)

if __name__ == '__main__':
    
    if len(sys.argv) >= 3:
        user = sys.argv[1]
        pwd = sys.argv[2]
        myFunc(user, pwd)

還可以查看argparse單擊

然后您可以從 PHP 調用腳本並提供憑據。 實際上有幾種方法可以做到這一點。 雖然您的願望exec不會返回 python 腳本的 output

通路

$output = passthru("python3 myScript.py $user $pwd");

shell_exec

$prog = 'python3 myScript.py '.$user.' '.$pwd;
$output = shell_exec($prog);

執行

exec("python3 myScript.py $user $pwd");  

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM