【问题标题】:Python cgi on apache serverApache服务器上的Python cgi
【发布时间】:2023-04-05 09:10:01
【问题描述】:

我是 python cgi 编程的新手。我已经在 linux mint 上安装了 apache 2.2 服务器,并且在 var/www 文件夹中有我的 html 表单,该文件夹正在正确显示。表单的操作是我放在文件夹 /usr/lib/cgi-bin 中的 cgi 脚本。但是在提交时,它显示“在此服务器上找不到请求的 URL /usr/lib/cgi-bin/file.cgi”。有谁知道这个问题的解决办法吗?

【问题讨论】:

  • 您可能喜欢使用 mod_wsgi 之类的东西在 wsgi 界面上运行您的 python 应用程序,而不是使用 CGI。

标签: python apache cgi


【解决方案1】:
  1. 您的 Python 程序的名称是什么?是/usr/lib/cgi-bin/file.cgi吗?
  2. 此文件的权限是什么? apache可以读取吗?可以执行吗?
  3. 第一行是#!/usr/bin/env python还是类似的好?确保这个文件可以从命令行运行(即shebang很好)
  4. apache 是否接收到带有该文件的请求?查看apache日志,尤其是error.logaccess.log(可能在/var/log/apache
  5. 确保在 Apache 配置中为 /usr/lib/cgi-bin/ 目录启用了 ExecCGI。例如,请参见:http://opensuse.swerdna.org/suseapache.html。您也可以使用ScriptAlias 指令。

【讨论】:

  • 是的,我的文件名是file.cgi,权限是读写的。第一行是#!/usr/bin/env python
  • apache 是否收到带有该文件的请求?查看apache日志,尤其是error.logaccess.log(可能在/var/log/apache
  • 非常感谢!错误日志确实有帮助。它无法跟踪文件路径。我将默认 cgi 目录更改为 /var/www/cgi-bin 并将脚本放在那里。现在正在执行该文件。但现在它显示错误“/usr/bin/env: python : No such file or directory”。
  • which python命令检查你的python解释器在哪里
  • 哪个 python 给出了“/usr/bin/python”。在我的 cgi 脚本中,我已将第一行更改为 #!/usr/bin/python 并且它仍然显示相同的错误
猜你喜欢
  • 2015-03-11
  • 2013-03-30
  • 1970-01-01
  • 2016-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多