【问题标题】:Trying to understand installing a CGI script [duplicate]试图理解安装 CGI 脚本 [重复]
【发布时间】:2014-02-28 18:47:53
【问题描述】:

http://www.tutorialspoint.com/python/python_cgi_programming.htm

#!/usr/bin/python

 print "Content-type:text/html\r\n\r\n"
 print '<html>'
 print '<head>'
 print '<title>Hello Word - First CGI Program</title>'
 print '</head>'
 print '<body>'
 print '<h2>Hello Word! This is my first CGI program</h2>'
 print '</body>'
 print '</html>'

#!/usr/bin/python有什么意义

它说要保存文件为hello.py 并保存到/var/www/cgi-bin 目录但我没有这个目录,我应该创建一个吗?

在运行您的 CGI 程序之前,请确保您已使用 chmod 755 hello.py UNIX 命令更改文件模式以使文件可执行。

但是在哪里(如何)执行这个chmod 命令?我应该在hello.py 中包含$chmod 755 "/location of hello(.py).../" 吗?

【问题讨论】:

  • 请使用更好的问题标题;大多数问题都要求解释一些事情。
  • 在 2014 年学习如何编写 CGI 脚本有点傻。使用 WSGI 框架。
  • 很抱歉像个菜鸟一样问..我正在学习编码作为爱好..会提高自己..感谢建议 wsgi 框架..会研究它..谢谢

标签: python python-2.7 cgi chmod


【解决方案1】:

您必须在 *nix 系统上包含 #!/usr/bin/python 行,以告诉 shell 如何解释此脚本以及您的解释器在系统中的位置。这称为 shebang 线。

chmod 755 hello.py 命令是一个 unix shell 命令,用于更改文件的权限并使其可执行。这样做您可以运行脚本而无需执行 python hello.py 而是 ./hello.py

据我了解,您是 Windows 用户。在这种情况下,您不必执行所有这些操作。只需将文件保存为hello.py 即可。

tutorialspoint.com 上的这篇文章暗示您已经运行了一个支持 cgi 的 HTTP 服务器,并且有一个默认的 Web 目录 /var/www/

【讨论】:

  • 谢谢..是的我同意..因为我没有运行http服务器..我将主要忽略来自tutorialspoint.com的这部分教程..感谢指出
【解决方案2】:

#!/usr/bin/python 行是向 shell(处理您的键盘输入并为您运行命令的程序)发出的信号,表明该文件是一个可由所示程序处理的脚本。它被称为“shebang”或有时称为“hashbang”。

在这种情况下,shebang 告诉您的 shell 运行它在/usr/bin/python 找到的程序并将此脚本提交给它。还有更多here

chmod 是用于设置文件权限的通用命令。您可以像任何其他命令一样从命令行执行它。权限的数值可能有点神秘,但它们由表示某些权限的二进制位组成。将权限更改为 755 明确表示文件的所有者可以将其作为程序执行,而不仅仅是将其视为文本块。就我个人而言,我更喜欢 mor 描述性 chmod u+x filename - 为用户添加执行。

你可以找到chmodhere的更完整描述

【讨论】:

  • u+x 对于 CGI 脚本完全没用;文件的所有者几乎肯定不会是运行 Web 服务器的用户。它不是“更具描述性”,因为它意味着与 755 完全不同的东西。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-17
  • 1970-01-01
  • 2013-10-26
  • 1970-01-01
  • 1970-01-01
  • 2018-01-13
相关资源
最近更新 更多