Python's Archiver

為方便港臺同胞閱覽,Python中國特別推出簡繁體內容轉換功能

zkfarmer 发表于 2008-10-28 22:30

18.2.7 在Unix系统上安装你的CGI脚本

阅读你的HTTP服务器文档,以你的本地系统管理员检验查找CGI脚本应该被安装的文件夹;通常在你的服务树的cgi-bin文件夹中。

确信你的脚本被“其他”读取和执行;Unix文件模式应该是0755八进制(使用”chmod 0755 文件名”)。确保脚本的第一行包含#!开始在第一列,紧随的是Python解释器的地路径名,例如:

#!/usr/local/bin/python

确保Python解释器存在并且由“其他”被执行。

确保你的脚本需要读取或写入的任何文件,分别地,由“其他的”,可读的或可写的--它们的模式:可读的是0644,可写的是0666。这是因为,为了安全的因素,HTTP服务器执行你的脚本作为“无体”用户,没有任何指定的特权。它仅可以读(写,执行)文件(该文件任何人可读(写,执行))。当前的文件夹在执行时间时也是不同的(它通常地是服务器的cgi-bin文件夹)并且环境变量的设置与当你登录时获取的也是不同。尤其,对于执行不计算shell的搜索路径(PATH)在内或Python模块搜索路径(PYTHONPATH)被设置为任何感兴趣的事情。

如果你需要从一个不在Python缺省的模块搜索路径中的目录中加载模块,你可以在导入其它模块以前,在你的脚本中该变路径。例如:
import sys
sys.path.insert(0, "/usr/home/joe/lib/python")
sys.path.insert(0, "/usr/local/lib/python")

(这样,最后被插入的目录将首先被搜索!)

非Unix系统的说明有所不同;检查你的HTTP服务器的文档(它将通常有一个在CGI脚本上的部分)。
出处[url=http://www.okpython.com]PYTHON中国[/url],关于翻译的任何事情请[color=Green]EMAIL[/color]给我[email=zkfarmer@gmail.com]ZKFARMER[/email],更多文档在[url=http://www.zkfarmer.org]我的站点[/url],[color=Red]请参阅官方英文文档[/color]。

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.