libclntsh.so.11.1: 运行 CGIusing cx_Oracle 时无法打开共享对象文件 python 错误

libclntsh.so.11.1: cannot open shared object file python error while running CGIusing cx_Oracle

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

当从 cli 运行使用相同的脚本时,它工作得很好。

我的工作环境是RHEL 6.4

在这件事上的帮助将不胜感激,对于那些在他们的环境中工作的人

谢谢你

A​​pache环境需要设置环境变量LD_LIBRARY_PATH

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

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

export FORCE_RPATH=1
python setup.py build

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

我能够在 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 文件中传递这个变量 通过环境 LD_LIBRARY_PATH

希望对您有所帮助