微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。