php连接oracle数据库连不上

php.ini上面的extension=php_oci8.dll前面;去掉了,appache也重启了,但是怎么还是显示 oci_connect()这个函数不能用,是哪里还要配置还是怎么
E:\oraclesql\product\11.2.0\dbhome_1\bin;%SystemRoot%\system32;%SystemRoot%;我的path环境变量是这样的,这个是我安装好oracle和客户端之后就存在了的,这个环境变量对吗

我网上找了下说是要加入一个instant client的目录到环境变量里面,这个跟我现在的变量中的目录有什么区别吗

;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client
extension=php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client

看看是不是版本错了 没用过10gr2
oracle11的话 php_oci8_11g.dll
if($this->dbstatic==false)
{
$this->dbid=oci_connect($this->user,$this->pass,$this->host,$this->code);

if($this->dbid)
{
$this->dbstatic=true;
}
else
{
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
print htmlentities($e['message']);
return 0;
}
}

我没问题追问

;extension=php_oci8.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_oci8.dll
;extension=php_pdo_odbc.dll
我看了下,跟oracle有关的就这四个,好像没有extension=php_oci8_11g.dll 这个,我不知道是我的版本问题还是怎么的

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-09-11
请你表述一下“不好使”的具体含义,要根据具体情况具体分析,假如是提示没有这个函数吗,那你应该使用ocilogon替代这个函数。
第2个回答  2014-09-11
亲,你是什么环境追问

我就装了一个集成的appserv,oracel数据库已经都装好了,然后php是6.0的,我网站上看有的说只要extension=php_oci8.dll前面的;去掉就好了,有的又说还有一个php_oracle.dll前面的;也要去掉的,并把他们的文件复制到system32文件夹中,但是我好想只找到第一个,第二个文件没找到

追答

复制到system32什么的我觉得是完全不需要的,你是windows系统么,把你的ext文件路径加到环境变量里试试呢

追问

不知道是不是跟系统有关,我是win7 64位的,然后装的oracle也是64位的,但是appserv是appserv-win32-2.6.0就是win32位的,不知道是不是跟这个有关

追答

额,有可能,ext文件路径加入到环境变量试了么,有用么

追问

这个环境变量是怎么测试的

追答

环境变量就在“我的电脑”-属性-高级系统设置-环境变量-系统环境变量-path值;

你看下PHPinfo 里PHPini显示的路径正确么,就是这个;

追问

我里面显示的是:E:\oraclesql\product\11.2.0\dbhome_1\bin;%SystemRoot%\system32;%SystemRoot%;

追答

哦,那把PHP路径和EXT路径都加到环境变量里试试用分号隔开 E:\www\php5.4;E:\www\php5.4\ext

本回答被提问者采纳
相似回答