1

Oracle にアクセスする Apache/mod_wsgi インストールで Django を動作させるのに深刻な問題があります。CentOS 6 ホストでこのセットアップを実行していますが、Apache ログに次のエラーが記録されています。

Error loading cx_Oracle module: libclntsh.so.10.1: cannot open shared object file: No such file or directory

Python コマンド ラインからインポートしようとするとcx_Oracle、root ユーザーと apache ユーザーの両方で問題なく動作します。ORACLE_HOMEand LD_LIBRARY_PATH( $ORACLE_HOME/lib) を正しく設定しまし~/.bashrcた。環境変数/etc/ld.so.conf.d/oracle.conf~/.bash_profile設定できる場所ならどこでも。

$ORACLE_HOME/lib/libclntsh.so.10.1また、 inへのハード リンクまたはシンボリック リンクを作成しようとしましたが、 down からおよび ファイルに何度発行して/usr/libも、アクセス許可エラーが発生しました。chmod 777/usr/usr/lib

ORACLE_HOMELD_LIBRARY_PATHを変更せずに追加しました/etc/sysconfig/httpd

どうやらこのエラーは、Apache ユーザーが import cx_Oracle コマンドを実行した場合にのみ発生しますが、このユーザーでログインすると、Python インタープリターからコマンドを実行できます。

4

2 に答える 2

2

ソース コードから cx_Oracle をビルドする場合、LD_RUN_PATH 環境変数を Oracle .so ファイルを含む lib ディレクトリへのパスに設定すると、その場所が cx_Oracle .so に埋め込まれ、LD_LIBRARY_PATH を必要とせずに実行時に libclntsh.so を取得する場所が認識されます。設定。

于 2011-12-27T22:15:38.890 に答える
1

再インストールせずにより良い解決策があります..「/app/oracle/oracle/product/10.2.0/db_1/lib を /etc/ld.so.conf に追加し、ldconfig を実行しました。」http://catherinedevlin.blogspot.com/2005/10/cxoracle-and-ubuntu.htmlから

于 2012-01-08T04:02:29.240 に答える