我刚刚开始使用 Python。Python 解释器可以在命令行下工作(我使用的是 2.4.3),但我似乎无法让 Apache 执行 Python 脚本。最终得到的只是一个空白屏幕,Apache 错误日志中没有任何内容。
我通过 Plesk 控制面板启用了 Python。以下是在 httpd.include 中生成的代码片段:
<Files ~ (\.py$)>
SetHandler python-program
PythonHandler mod_python.cgihandler
</Files>
我的测试脚本是 Python 下载中附带的示例之一,网址为http://python.org/download/
#!/usr/local/bin/python
"""CGI test 1 - check server setup."""
# Until you get this to work, your web server isn't set up right or
# your Python isn't set up right.
# If cgi0.sh works but cgi1.py doesn't, check the #! line and the file
# permissions. The docs for the cgi.py module have debugging tips.
print("Content-type: text/html")
print()
print("<h1>Hello world</h1>")
print("<p>This is cgi1.py")
那没有用,所以我改成了#!/usr/local/bin/python
告诉#!/usr/bin/python
我的which python
,但结果是一样的。
就像我说的,我最后得到的是空白页。据我所知没有错误,除非我检查了错误的错误日志(我正在检查 Apache 错误日志)。我在运行 CentOS 的 MediaTemple (dv) 上。
答案1
尝试替换代码:
print("Content-type: text/html")
print()
到
print("Content-type: text/html")
print("\n\n")
编辑
print()
()
=>如果你从终端运行,将会打印
print
=> 将打印换行符 '\n' 。请参阅文档这里(查找打印件)
答案2
A.) 确保您可以从命令行运行脚本。B.) 尝试在第一个 print() 后添加一个额外的 print()。