gpt4 book ai didi

django - 如何在 CentOS 6 上导入 cx_Oracle?

转载 作者:太空宇宙 更新时间:2023-11-03 17:18:44 25 4
gpt4 key购买 nike

我在让 Django 与访问 Oracle 的 Apache/mod_wsgi 安装一起工作时遇到了严重的问题。我在 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_HOMELD_LIBRARY_PATH ($ORACLE_HOME/lib):在 ~/.bashrc 中,/etc/ld.so.conf.d/oracle.conf~/.bash_profile,我可以设置环境变量的任何地方。

我也试过在 /usr/lib 中创建到 $ORACLE_HOME/lib/libclntsh.so.10.1 的硬链接(hard link)或符号链接(symbolic link),但我得到了一个权限错误,无论我从 /usr/usr/lib 和文件发出多少 chmod 777

我将 ORACLE_HOMELD_LIBRARY_PATH 添加到 /etc/sysconfig/httpd 中,没有任何更改。

显然只有当 Apache 用户运行 import cx_Oracle 命令时才会出现此错误,尽管使用该用户登录我可以从 Python 解释器运行该命令。

最佳答案

当您从源代码构建 cx_Oracle 时,将 LD_RUN_PATH 环境变量设置为包含 Oracle .so 文件的 lib 目录的路径,它将将该位置嵌入到 cx_Oracle .so 中,并知道在运行时从何处获取 libclntsh.so无需设置 LD_LIBRARY_PATH。

关于django - 如何在 CentOS 6 上导入 cx_Oracle?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8649728/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com