我想構建一個 RESTful API。我在 MAC 上工作,我安裝了 XAMPP 服務器。我有一個 Python 腳本,我想從 PHP 調用它。我的 PHP 文件如下所示:$output = shell_exec("python $pyfilepath $post->id $post->name");echo $output;這沒有問題。我的 python 代碼如下所示:import sys#import mysql.connectordef my_results(id,name): print("My args are:",id,name)if __name__ == '__main__': my_results(sys.argv[1],sys.argv[2])我可以讀取參數并將其傳遞給 python 腳本,但是如果我嘗試激活:import mysql.connector我沒有從 my_results 定義中得到任何結果。我的一切都建立在 python 上,我只需要調用我的腳本。知道有什么問題嗎?謝謝
2 回答

慕哥6287543
TA貢獻1831條經驗 獲得超10個贊
請試試這個:
#!/usr/bin/env php
ob_start();
passthru("python $pyfilepath $post->id $post->name");
$output = ob_get_clean();
或者試試這個
$output = shell_exec(escapeshellcmd("python $pyfilepath $post->id $post->name"));
echo $output;
嘗試一個簡單的腳本 test.py
#!/usr/bin/env php
print("hello")
并這樣稱呼它
$output = shell_exec(escapeshellcmd("test.py"));
echo $output;

慕萊塢森
TA貢獻1810條經驗 獲得超4個贊
經過大量搜索,我更改了:
$output?=?shell_exec("python?$pyfilepath?$post->id?$post->name");
到:
$output?=?shell_exec("/anaconda3/bin/python3?$pyfilepath?$post->id?$post->name");
它奏效了。
- 2 回答
- 0 關注
- 111 瀏覽
添加回答
舉報
0/150
提交
取消