我正在使用 Oracle 数据库的 python 上编写 web 服务。我已经安装并运行了 cx_Oracle,但是当我使用 Apache 将我的 python 代码作为 CGI 运行时遇到了一些问题。
例如,以下代码在命令行中完美运行:
#!/usr/bin/python
import os
import cx_Oracle
import defs as df
os.putenv('ORACLE_HOME', '/oracledb/10.2.0/')
os.putenv('LD_LIBRARY_PATH', '/oracledb/10.2.0/lib')
con = cx_Oracle.Connection(df.DB_USER, df.DB_PASS, df.DB_SID)
print con
但是当我将它作为 CGI 运行时,我在 apache 错误日志中收到“cx_Oracle.InterfaceError:无法获取 Oracle 环境句柄”。
我搜索了网络,每个人都说我必须设置ORACLE_HOME
和LD_LIBRARY_PATH
环境变量。不知何故,即使我使用os.putenv
您在代码中看到的定义它们,CGI 脚本也无法访问此环境变量。
我做错了什么?谢谢!