Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php.ini中启用oci8(Oracle)扩展-php警告:php启动:第0行中的未知_Php_Oracle_Apache - Fatal编程技术网

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

如何在php.ini中启用oci8(Oracle)扩展-php警告:php启动:第0行中的未知,php,oracle,apache,Php,Oracle,Apache,我有Windows XP,最近我安装了32位wamp(apache mysql php)。 我测试了安装(使用php和apache连接到mysql数据库),一切正常 现在我需要连接到Oracle数据库,所以我尝试启用一些扩展 与Oracle和oci8相关 我做到了: 1)我打开了php.ini文件,删除了以下几行之前的分号: 之前: ;extension=php_oci8.dll ;extension=php_oci8_11g.dll extension=php_oci8.dll exte

我有Windows XP,最近我安装了32位wamp(apache mysql php)。 我测试了安装(使用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
之后:

;extension=php_oci8.dll
;extension=php_oci8_11g.dll
 extension=php_oci8.dll
 extension=php_oci8_11g.dll
2)我重新启动了apache和所有服务,并获得了

  • “PHP启动”警告
3)php\u 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”的唯一条目如下:

C:\wamp\bin\php\php5.4.16\ext;
配置命令

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


谢谢

[SOLVED]

我下载了Instant Client包-Basic(版本10.2.0.5),并将其解压缩

之后,我将该软件包的所有文件复制到以下文件夹中:

C:/wamp/bin/php/php5.4.16/ext/
C:/wamp/bin/apache/Apache2.4.4/bin
这对我来说就是这样。
加载oci8模块后。

下载instantclient时,请验证体系结构是否已安装wamp

在我的例子中,instantclient下载了x64,但安装了x32,出现了问题


下载了正确的体系结构,工作正常。

另外,根据我自己的经验,如果只启用一个扩展,而不是同时启用两个扩展,可能会有所帮助。感谢回复,我已经阅读了那篇文章,昨天我下载了Instant Client包-Basic(版本10.2.0.5)。这个包包括一些jar和dll文件。但我不知道该将这些文件放在哪个文件夹中以及下一步该做什么。@Passenger即使我只启用了一个扩展名,我也会再次收到这个PHP警告。您可以将.zip内容提取到任何所需的文件夹中,只需将其添加到环境变量中。@Yaroslav:不!这对Windows上的Apache2.4+PHP5.5 64位不起作用。我已经尝试过了(将instant client文件夹添加为路径中的第一个条目),php_oci8.dll仍然会导致警告。只有将所有这些文件复制到apache/bin才能使事情正常进行!不需要将它们复制到php/ext@ScottChu解决方案帮我解决了这个问题。我在Windows上使用Apache2.4+PHP5.5 64位,将即时客户端添加到PATH变量对我不起作用。但是,将即时客户端内容复制到apache/bin文件夹的根目录中对我来说很有用。