【问题标题】:libclntsh.so.11.1: cannot open shared object file python error while running CGIusing cx_Oraclelibclntsh.so.11.1:使用 cx_Oracle 运行 CGI 时无法打开共享对象文件 python 错误
【发布时间】:2016-04-15 19:56:29
【问题描述】:

需要有 Apache、Python 和 cx_Oracle(使用 python 运行 Oracle 数据库的库)的人的帮助。 即使设置了所有必需的变量,运行 python 脚本时仍然出现错误“:libclntsh.so.11.1:无法打开共享对象文件:没有这样的文件或目录”。

从 cli 运行时,相同的脚本运行良好。

我的工作环境是 RHEL 6.4

对于那些在他们的环境中得到这个工作的人,我们将不胜感激

谢谢你

【问题讨论】:

    标签: python apache cx-oracle


    【解决方案1】:

    需要在Apache环境中设置环境变量LD_LIBRARY_PATH。

    https://httpd.apache.org/docs/current/env.html

    不过,您可以通过以下步骤避免处理此问题:

    export FORCE_RPATH=1
    python setup.py build
    

    如果您使用即时客户端 RPM,这会自动为您完成,这是一种更简单的方法!

    【讨论】:

      【解决方案2】:

      我能够在 python 的 mod_env 模块的帮助下通过将 env_variables 本地传递给 apache 来解决这个问题。我为实现这一目标所做的是

      --> 在文件 /etc/sysconfig/httpd 中定义我需要的环境变量,例如 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/folder_with_library/ 导出 LD_LIBRARY_PATH

      --> 然后在 httpd.conf 文件中传递这个变量,比如 PassEnv LD_LIBRARY_PATH

      希望对你有帮助

      【讨论】:

        猜你喜欢
        • 2011-02-12
        • 2015-06-02
        • 2021-12-28
        • 2016-04-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-30
        • 2014-01-07
        相关资源
        最近更新 更多