- サーバーOS:2.2.3
- のPython:2.7.6 のRed Hat Enterprise Linux Serverは5.11
- のApacheをリリース
- mod_wsgiの4.5.3、Web.Py、MySQLdbは
ねえ!リモートOracleデータベースからデータを照会するWeb.Pyサイトを作成しましたが、リモートMySQLデータベースからユーザー認証を作成しようとすると問題が発生しました。ここからの手順に従いリモートMySQLの接続は、Apache(Webpy、モッドWSGI)とコマンドラインパラメータから動作しますが、ない
:http://webpy.org/cookbook/userauthpgsql
まったく同じプログラムはPythonのコマンドラインから動作しますが、ApacheのからリモートMySQLデータベースに接続しようとしているいくつかの理由で、私取得するには、次のエラー:
私が試した<type 'exceptions.AttributeError'> at /login
'module' object has no attribute 'connect'
もの:
- リスト項目
- 無効SELIN ux
- MySQLへのapache @ myserversIPの権限が追加されました。
- 両方のMySQLdbを試した& web.database for connection
- グーグルグーグル。それは、さらに多くのことをいただければ幸い診断する、または方法問題に関して
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
すべてのヘルプ:
はここに私のメインプログラムから実行されるコードです!ありがとう
Edit1:MySQLdbがどこから検索されているかを調べました。/usr/local/lib/python2.7/site-packages
これは正しいと思われます。
EDIT2:
LDD mod_wsgi.so
のLinux-vdso.so.1 =>(0x00007fff4b5fd000)
libpython2.7.so.1.0 => /lib64/libpython2.7.so.1.0
libpthreadの.so.0 => /lib64/libpthread.so.0
libdl.so.2 => /lib64/libdl.so.2
libutil.so.1 => /lib64/libutil.so.1
libm.so.6 => /lib64/libm.so.6
libc.so.6 => /lib64/libc.so.6
/lib64/ld-linux-x86-64.so.2
を持っている、あなたが実行しようとしているファイルと同じディレクトリ内のファイルがあるかどうかをチェックし、コメントしてきたように'' MySQLdb .__ file__''?あなたのコードのどこかに '' MySQLdb.py''というファイルがありませんか? –
Hey Graham! Apacheを実行しているときは空ですが、cmdlineから実行する場合は /usr/local/lib/python2.7/site-packages/MySQLdb/__init__です。pyc 私はまた、MySQLdb.pyという名前の別のファイルがないと確信しています – CatManJoe
mod_wsgiの設定を提供していますか?どのバージョンのPython mod_wsgiがコンパイルされているか確認してください。 Python 2.7のインストール用にコンパイルされていない可能性があり、それが原因です。 http://modwsgi.readthedocs.io/ja/develop/user-guides/checking-your-installation.html#python-installation-in-use –