#!/usr/bin/env python
# -*- coding: UTF-8 -*-
# enable debugging
import cgitb
cgitb.enable()
print "Content-Type: text/plain;charset=utf-8"
print
print "Hello World!"
Run Code Online (Sandbox Code Playgroud)
我的目标是用Python替换PHP.我对PHP非常好,我可以在我自己的本地机器上使用Python,但我不能让它在我的Web服务器上运行.我的网络主机说他们支持Python,所以我一定做错了.
现在,Python与CGI相关联.python文件必须进入我的cgi-bin文件夹吗?我从来没有见过带有py扩展名或cgi扩展名的web文件,我不知道这些东西是如何工作的,我真的只熟悉PHP.
我看了谷歌"学习Python"课程的第一个小时,而且只讨论了在本地运行Python的问题.
:(对不起,我是如此,请修理我.
这是一个完全可以接受的CGI脚本.如果你正在使用Apache,它将需要进入你的cgi-bin,需要是可执行的(我可能是错的),你应该用该语言的公共扩展名来命名.py,或者用.cgi.
如果您可以控制您的网络服务器将考虑CGI的文件,您可以将文件放在任何您想要的位置.机会是,你无法控制.您可以在此处查看有关Apache中CGI的更多信息:http://httpd.apache.org/docs/2.2/howto/cgi.html
基本要点是Apache不会将文件视为CGI文件,除非满足两个条件:cgi-script需要使用AddHandleror SetHandler指令激活,并且ExecCGI需要在Options指令中启用.通常,共享托管环境中的用户无法使用此功能.
编辑:为了澄清,CGI只是一种机制,您可以用任意语言编写脚本,并让您的Web服务器执行它们并将该脚本的输出发送给您的客户端.除了简单的脚本之外,它不是推荐的方法,因为在每个请求中服务器都会启动一个新的解释器实例.对于Python,最好的解决方案是WSGI兼容框架,例如Flask,Bottle或Django.前两个是微框架,试图避开你的方式,而Django是一个提供大量胶水的全栈框架.