- 论坛徽章:
- 0
|
当通过Apache的php内嵌模块执行php脚本时,总是出现如下错误:
Warning: ocilogon() [function.ocilogon]: _oci_open_session: OCIHandleAlloc OCI_HTYPE_SVCCTX: OCI_INVALID_HANDLE
但同样的脚本在同一php的cli命令行版本和Apache php cgi环境下执行正常。
怀疑Apache版本问题,但是换用Apache-2.0或者Apache-1.3故障依旧。
oracle客户端是刚刚下载的版本:
instantclient-sdk-linux32-10.2.0.2-20060331.zip
instantclient-basic-linux32-10.2.0.2-20060331.zip
php版本是php-4.4.4,用--with-oci8-instant-client编绎,
oracle动态库的路径为:
/usr/lib/oracle/10.2.0.2/client/lib/
ocilogon的调用方式为:
ocilogon("user", "pass", "//host/sid");
搜索了一下网络,发现有不少与此类似的故障现象,解释是环境变量ORACLE_HOME设置不当,我也确实未设ORACLE_HOME变量,
因为本机并没有完整地安装过ORALCE,只是自己手工安装了instanctclient客户库和开发库,似乎也没有指定ORACLE_HOME的必要,
而且在命令行和Apache CGI中执行ocilogon正常。
不管我怎么设置ORACLE_HOME变量,故障总是依旧。
如果真是ORACLE_HOME的原因,那么在CGI中执行正常如何解释?
ORACLE_HOME的运行环境该如何手工建立?
由于工作需要,本人非常着急,非常想得到大家的帮助,谢谢了! |
|