【问题标题】:is it possible to call a python script from a bash CGI script?是否可以从 bash CGI 脚本调用 python 脚本?
【发布时间】:2019-02-03 12:48:06
【问题描述】:

例如,我有一个hello.sh CGI bash 脚本,我想在脚本中做这样的事情:

m=$(python pythonscript.py)
echo $m

我试过了,但是m 在echo 之后是空白的

【问题讨论】:

  • 有各种各样的可能是错误的。一方面,python 可能不在您的 Web 服务器的 PATH 中。如果python 恰好在PATH 中,则pythonscript.py 文件可能不在您的Web 服务器正在寻找的位置。也可能是python pythonscript.py 没有返回任何输出。
  • 感谢@RedCricket。我已经为 python 修复了 PATH,我可以为 pythonscript.py 修复什么环境变量以便 webserver 可以看到它?
  • 在我自己的共享主机体验中,我可以直接通过 CGI 运行 Python 脚本。你可能想看看我的帖子here,尤其是 cgiappserver-prod.cgi 文件。请注意,即使它具有 .cgi 扩展名,它也完全使用 Python。您可能会发现关于 CGI 错误报告的第一行很有用。
  • 这取决于您使用的网络服务器。我只知道如何配置apache。如果您使用的是 apache,则 pythonscript.py 需要位于 DocumentRoot 目录中。您可以通过指定pythonscript.py 的完整路径来避免担心DocumentRoot ...类似于$(python /user/me/my_python_scripts/pythonscript.py)
  • 请注意,将脚本放在 DocumentRoot 中会带来安全问题,因为最终用户可能会看到脚本的文本。请考虑 Mike 的建议,因为这样会更安全。

标签: python bash cgi


【解决方案1】:

将其放入 bash CGI 脚本中

PATH=$PATH:<path-to-python-interpreter>
export PATH

终于成功了!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-31
    • 2021-12-05
    • 2019-10-31
    • 2014-06-26
    • 2012-07-23
    • 2012-03-10
    • 2010-10-17
    相关资源
    最近更新 更多