- 服务器操作系统:Red Hat Enterprise Linux Server 5.11版
- Apache:2.2.3
- Python:2.7.6
- Mod_WSGI 4.5.3、Web.Py、MySQLdb
嘿!我创建了一个从远程Oracle数据库查询数据的Web.Py网站,它运行得很好,但我现在在尝试从远程MySQL数据库创建用户身份验证时遇到了问题。
按照以下步骤操作:http://webpy.org/cookbook/userauthpgsql
完全相同的程序在python命令行中工作,但由于某种原因,当试图从Apache连接到远程MySQL数据库时,我得到了以下错误:
<type 'exceptions.AttributeError'> at /login
'module' object has no attribute 'connect'
我尝试过的东西:
- 列出项目
- 禁用SELinux
- 已添加的权限apache@myserversIP到MySQL
- 尝试了MySQLdb&连接的web.database
- 谷歌搜索了很多
这是从我的主程序运行的代码:
myDB = MySQLdb.connect(host='ip',user='user',passwd='password',db='db',port=3306 );
cHandler = myDB.cursor()
cHandler.execute("SHOW TABLES;")
results = cHandler.fetchall()
for items in results:
print items
如有任何关于该问题的帮助,或进一步诊断的方法,我们将不胜感激!感谢
第1版:我检查了MySQLdb的搜索位置:/usr/local/lib/python2.7/site packages
这似乎是正确的。
第2版:
ldd mod_wsgi.so
linux vdso.so.1=>(0x00007fff4b5fd000(
libpython2.7.so.1.0=>/lib64/libpython2.7.so.1.0
libpthread.so.0=>/lib64/libphread.so.0
libdl.so.2=>/lib64/libdl.so.2
libutil.so.1=>/lib64/libute.so.1
libm.so.6=>/lib64/libm.so.6
libc.so.6=>/lib64/libc.so.6
/lib64/ld-linux-x86-64.so.2
如有评论,请检查是否有一个文件与您尝试运行的文件位于同一目录中,其名称为MySQLdb.py