如何从PHP webhook调用shell_exec()?

2024-06-11 09:33:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我有个大问题,我找不到解决办法。我目前有一个PHP脚本,它接受webhook(httppost)作为触发器。基于POST中包含的变量,exec('python script')应该运行,并返回一些变量。当我从命令行运行它时,它工作得很好,但是当我试图从任何类型的HTTP请求中触发脚本时,exec()函数不会运行。以下是受影响的代码部分:

$command = shell_exec('python C:\\xampp\\cgi-bin\\SECpull.py');

$company_dump = print_r($command, TRUE);
$fp = fopen('retvals.txt', 'w');
fwrite($fp, $company_dump);
fclose($fp);

如果在一个由httppost触发的PHP脚本中不可能有exec()函数,那么我该怎么做呢?在


Tags: 函数命令行脚本scriptwebhookpostdumpcompany
1条回答
网友
1楼 · 发布于 2024-06-11 09:33:10

问题

Robbie Averill所述,您很可能有权限问题,您可以通过向用于运行web服务器的用户添加附加权限来解决此问题。但是,我认为将混合使用不是一个好的样式,如果您不能将SECpull.py重写到{a2},那么最好在中执行所有操作。在

我建议你用Flask来做这个。在

样本

# server.py
from flask import Flask
app = Flask(__name__)

# Setup custom route here
@app.route("/") 
def index():
    # Add SECpull.py logic here.
    return "Welcome To Python Server!"

if __name__ == "__main__":
    app.run()

设置

^{pr2}$

相关问题 更多 >