Python CGI 脚本在 SSH 中运行但不在浏览器中运行

问题描述

(编辑:我与技术支持人员进行了交谈,问题是我使用的是共享托管计划,该计划不提供对服务器本身的根访问权限。Dreamhost 上的专用托管计划和云托管计划确实提供了根服务器访问权限.)

我有一个 DreamHost 共享网络托管计划,我正在尝试运行几个简单的 helloworld.py/.cgi 脚本。当我尝试在浏览器(Microsoft Edge,无扩展程序或脚本阻止程序)中访问文件时,出现内部服务器错误

文件位于专用的 /cgi-bin/ 文件夹中,我在该文件夹中创建了一个 .htaccess 文件,将其标记为包含 CGI 程序。无论 .htaccess 文件内容是什么,服务器错误仍然会发生,我认为这表明文件本身不是问题,但这里是:

Options +ExecCGI
SetHandler cgi-script

网站的其余实时页面可以正常加载和访问。

我已通过 SSH 登录到我的管理员帐户,并且可以让脚本在命令窗口中运行。我知道它们运行正常,因为输出包括文件开头的导入语句或注释,这意味着终端不只是打印 .py/.cgi 文件内容

基于花几个小时阅读 DreamHost 和 Apache 文档,我对可能存在的问题有一些想法:

  • 我无权访问核心服务器文件,这意味着 AllowOverride 设置可能会禁止我的 .htaccess 文件允许 CGI 执行。
  • 我可能错误地配置了 .htaccess 文件

如果重要,我的文件路径如下所示:

root/websiteName/cgi-bin/helloworld.py

我知道大多数网站通常是 root/www/websiteName/etc.,但我怀疑这就是问题的原因。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)