如何在php.ini中为oci8(Oracle)启用扩展 - PHP警告:PHP启动:在第0行的未知中

时间:2014-01-21 05:28:35

标签: php oracle apache

我有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和所有服务,我得到了一个

  • “PHP StartUp”警告。

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扩展,接下来应该做些什么?

感谢

2 个答案:

答案 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并遇到了问题。

下载了正确的架构并且运行正常。