我有Windows XP,最近我安装了wamp(apache-mysql-php)32位。 我测试了安装(用php和apache连接到mysql数据库),一切正常。
现在我需要连接到Oracle数据库,所以我尝试启用一些扩展 与 Oracle 和 oci8 相关。
我做了:
1)我打开 php.ini 文件,我删除了以下行之前的分号:
之前:
;extension=php_oci8.dll
;extension=php_oci8_11g.dll
后:
extension=php_oci8.dll
extension=php_oci8_11g.dll
2)我重启了apache和所有服务,我得到了一个
3)在 php_error.log 文件中,我得到:
**PHP Warning: PHP Startup: in Unknown on line 0**
所以,我认为检查扩展php文件夹的位置是个好主意 如果那些dll文件在那里。
在 php.ini 中,我的扩展程序文件夹位于:
extension_dir = "C:/wamp/bin/php/php5.4.16/ext/"
该文件夹存在且这两个库(php_oci8.dll php_oci8_11g.dll) 在那个文件夹里面。
4)我在Windows的“路径”系统变量中添加了以下内容:
C:\wamp\bin\php\php5.4.16\ext;
5)我在Apache的文件夹中复制了这两个dll文件,但它再次无效!
C:\wamp\bin\apache\Apache2.4.4\bin
6)此外,我检查了 phpinfo 页面,我获得的“oci8”的唯一条目如下:
配置命令
"--with-oci8=C:\php-sdk\oracle\instantclient10\sdk,shared" "--with-oci8-11g=C:\php-sdk\oracle\instantclient11\sdk,shared"
嗯......我系统中的以下文件夹不存在:
C:\php-sdk\oracle\instantclient10\sdk
C:\php-sdk\oracle\instantclient11\sdk
那么,为了正确启用oci8扩展,接下来应该做些什么?
感谢
答案 0 :(得分:7)
<强> [解决] 强>
我下载了Instant Client Package - Basic(版本10.2.0.5)并将其解压缩。
之后我将该软件包的所有文件复制到以下文件夹中:
C:/wamp/bin/php/php5.4.16/ext/
C:/wamp/bin/apache/Apache2.4.4/bin
这样对我有用。 之后加载了oci8模块。
答案 1 :(得分:1)
下载即时客户端时,请验证架构是否安装了wamp。
在我的情况下,即时客户端下载x64但安装了x32并遇到了问题。
下载了正确的架构并且运行正常。