【发布时间】:2010-11-07 10:01:25
【问题描述】:
我正在使用 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: Unable to acquire Oracle environment handle”。
我在网上搜索,每个人都说我必须设置ORACLE_HOME 和LD_LIBRARY_PATH 环境变量。不知何故,即使我使用 os.putenv 定义它们,CGI 脚本也无法访问此环境变量,正如您在代码中看到的那样。
我做错了什么?谢谢!
【问题讨论】:
-
你为什么不用mod_wsgi?
标签: python apache cgi cx-oracle