Fedora apache wsgi python oracle



我正在尝试设置httpd+mod_wsgi(python(。除了之外,其他一切都正常

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

现在我了解了ORACLE_HOMELD_LIBRARY_PATH变量。它们是在/etc/profile.d中编写的。更重要的是,我在ldconfig路径中配置了libclntsh.so.11.1。我在虚拟主机中有一个SetEnv,我相信它对mod_wsgi没有任何影响。有人有同样的问题吗?

我还应该指出,在Ubuntu中,您可以简单地将ORACLE_HOMELD_LIBRARY_PATH放在/etc/apache2/envvars中,这样就可以了,而在Fedora中,将环境变量传递给apache要可怕得多。

不要依赖LD_LIBRARY_PATH,因为在某些Apache安装中,由于envvars文件被忽略,因此要正确设置它可能很困难。

安装cx_Oracle时,不要不公正地依赖它,而是将LD_RUN_PATH环境变量设置为包含Oracle共享库的库目录的位置。

例如:

LD_RUN_PATH=/usr/local/oracle/lib pip-install cx_oracle

这将导致库目录嵌入cx_Oracle C扩展中,并且将在运行时自动找到它,而无需稍后设置LD_LIBRARY_PATH

最新更新