安装php oracle client oci8有什么问题

时间:2018-04-16 14:24:23

标签: php oracle oci oci8

我尝试了安装PHP Oracle客户端的所有过程。

1)我安装了客户端版本8和32位。

2)我在php.ini中取消注释oci

3)重新启动Wamp:

enter image description here

4)不确定是否真的安装但是我在php.ini中获得了引用:

enter image description here

enter image description here

5)但仍无法连接:

enter image description here

Tyhanks寻求帮助

修改

在php日志中发现这些错误: [16-Apr-2018 14:35:03 UTC] PHP警告:PHP启动:无法加载动态库'c:/wamp/bin/php/php5.5.12/ext/php_oci8.dll' - %1不是有效的Win32应用程序。

在第0行的未知中

[16-Apr-2018 14:35:03 UTC] PHP警告:PHP启动:无法加载动态库'c:/wamp/bin/php/php5.5.12/ext/php_oci8_11g.dll' - %1不是有效的Win32应用程序。

在第0行的未知中

1 个答案:

答案 0 :(得分:1)

manual告诉你哪里出错:

  1.   

    1)我安装了客户端版本8和32位。

    您正在使用不兼容的库。 OCI8 requirements文件的第一段陈述(强调我的):

      

    OCI8 1.4扩展包含在PHP 5.3,PHP 5.4和PHP 5.5中。它也可以从PECL获得。较新的OCI8 2.0版本仅可从PECL获得。 OCI8 1.4需要Oracle 12c,11g,10g或9iR2客户端库,并将在PHP 4.3.9及更高版本上安装。 OCI8 2.0需要Oracle 12c,11g或10g客户端库,并将在PHP 5.2及更高版本上安装。

  2.   

    2)我在php.ini中取消注释oci

    您的屏幕截图显示您已启用php_oci8php_oci8_11g。您应该只启用其中一个扩展,如OCI8 installation文档中所述(再次强调我的):

      

    在Windows上使用Oracle 10gR2客户端库时,取消注释php.ini行extension = php_oci8.dll。使用Oracle 11gR2或更高版本的客户端库时,请取消注释extension = php_oci8_11g.dll或extension = php_oci8.dll。使用Oracle 12c库时,请使用extension = php_oci8_12c.dll或extension = php_oci8_11g.dll或extension = php_oci8.dll。 一次只能启用其中一个DLL。

  3.   

    4)不确定是否真的安装但是我在php.ini中获得了引用:

    已安装已启用,但已正确配置。您的屏幕截图显示了PHP的编译方式以及各种代码作者,而不是您当前配置的任何内容。

  4. 要使扩展程序正常运行,请尝试以下操作:

    1. 卸载并删除“客户端版本8”的所有痕迹。
    2. 安装Oracle InstantClient 11g或12c。这通常意味着简单地将.zip文件提取到文件夹,例如, c:\instantclient_12_1
    3. 在InstantClient下载页面上,在InstantClient下载链接之后,该行上有一个指向所需VC ++运行时的链接。下载并安装它。
    4. 更新您的PATH环境变量,以包含您提取InstantClient文件的位置,例如c:\instantclient_12_1
    5. php.ini启用php_oci8_11g.dll php_oci8_12c.dll
    6. 可能需要重新启动,以确保系统可以看到PATH更改。

      请注意,WAMP可能包含多个php.ini个文件。确保编辑正确的。