最近配置php+oracle一直加载不到php_oci8.dll,然后百度,谷歌找了大堆,都是说要把php_oci8.dll复制到system32目录下面,然后重新启动之类的,其实也不怪,好多人都没说明版本。
我的环境是 win2003(32位) php5.2.5 apache2.0 oracle9i,在php.ini里面已经去掉php_oci8.dll了,但是在phpinfo里面还是找不到oci8的影子,一直困扰了我好多天。
通过查看apache的日志发现这样一条
php startup unable to load dynamic library php_oci8.dll
意思就是加载不到,然后通过这个在搜索,找到两篇文章,我就是按照这个文章去配置成功的。
http://hi.baidu.com/zeldady/item/c0f2910b0a509f374bc4a30d
http://www.cnblogs.com/fromchaos/archive/2009/03/10/1408097.html
大概意思就是说php从5.0版本以后自带的oci8.dll只是支持oracle 10G以上的版本,如果你的数据库版本是9I,那么就需要下载
instantclient-basic-win32-10.2.0.4.zip
可以去oracle官方下载,但是找到了以后还要注册登录才可以下载,我这里就直接通过百度网盘找的 site:pan.baidu.com instantclient 就找到了,这个文件的下载地址是
其实通过百度网盘可以搜索到很多邪恶的东西,比如 site:pan.baidu.com xxoo ~一般人我不告诉他
下载以后把 oci.dll orannzsbb10.dll oraociei10.dll 三个文件复制到 apache的bin目录下面,然后重新启动apache,在通过phpinfo()就可以看到oci8啦~
这个方法只是适用于 oracle 9I 的版本,本人亲测,如要转载,请带上本文章地址。