如何在php.ini中启用oci8(Oracle)扩展-php警告:php启动:第0行中的未知
我有Windows XP,最近我安装了32位wamp(apache mysql php)。 我测试了安装(使用php和apache连接到mysql数据库),一切正常 现在我需要连接到Oracle数据库,所以我尝试启用一些扩展 与Oracle和oci8相关 我做到了: 1)我打开了php.ini文件,删除了以下几行之前的分号: 之前:如何在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
;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启动”警告
**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文件夹的根目录中对我来说很有用。