使CGI脚本工作(Apache、Python、MySQL)

使CGI脚本工作(Apache、Python、MySQL),python,mysql,apache,Python,Mysql,Apache,你能帮我从MySQL中读取一些字符串并在我的web浏览器中显示它们吗。 这只适用于我的本地主机 我收到以下消息: 内部服务器错误 服务器遇到内部错误或配置错误,无法完成您的请求 请与服务器管理员联系,[未提供地址],并通知他们错误发生的时间,以及可能导致错误的任何操作 有关此错误的详细信息,请参阅服务器错误日志 至于我的文件hello.py,它位于这里: root@ubuntu:/var/www/test1.my/www/cgi-bin# ls -l total 8 其特性如下: -rwxr-

你能帮我从MySQL中读取一些字符串并在我的web浏览器中显示它们吗。 这只适用于我的本地主机

我收到以下消息:

内部服务器错误

服务器遇到内部错误或配置错误,无法完成您的请求

请与服务器管理员联系,[未提供地址],并通知他们错误发生的时间,以及可能导致错误的任何操作

有关此错误的详细信息,请参阅服务器错误日志

至于我的文件hello.py,它位于这里:

root@ubuntu:/var/www/test1.my/www/cgi-bin# ls -l
total 8
其特性如下:

-rwxr-xr-x 1 root root 465 Nov 2 23:30 hello.py
-rwxr-xr-x 1 root root 186 Nov 2 15:59 hello.py~
你能给我一些提示来解决什么问题吗


据我所见,在
hello.py
中写入
内容类型后,需要输出一个空行:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import MySQLdb
print "Content-Type: text/html\n"                  
#   newline after headers!    ^^ 
print "<html><head><title>Книги</title></head>"
...
#/usr/bin/env python
#-*-编码:utf-8-*-
导入MySQLdb
打印“内容类型:文本/html\n”
#标题后换行!^^
打印“Бциц”
...

此外,您应该检查apache错误日志(通常位于
/var/log/apache/error.log
),以获取有关错误的更多信息。

您有权访问服务器日志吗?如果是这样的话,它们会显示什么吗?还有,hello.py包含什么?这些是日志和更新的hello.py,其中有一些关于编码的内容。我把所有的东西都换了。现在只有英文版。[…01:14:18 2012][error][client 127.0.0.1]脚本头过早结束:hello.py回溯(最近一次调用):File“/var/www/test1.my/www/cgi-bin/hello.py”,import MySQLdb importorror中的第3行:没有名为MySQLdb的模块[Sat Nov 03 01:20:39 2012][error][client 127.0.0.1]脚本头提前结束:hello.py回溯(最近一次调用):文件“/var/www/test1.my/www/cgi-bin/hello.py”,第3行,在导入MySQLdb ImportError中:没有名为MySQLdb的模块[Sat Nov 03 01:20:42 2012][error][client 127.0.0.1]脚本头提前结束:hello。py@Kifsif:“没有名为MySQLdb的模块”是你的problem@Kifsif-您不需要将所有内容都更改为英语,只需声明您的编码(我已将其添加到示例中)。在第二个hellp.py中,您仍然缺少标题后面的换行符,当然还有
MySQLdb
模块