我尝试了安装PHP Oracle客户端的所有过程。
1)我安装了客户端版本8和32位。
2)我在php.ini中取消注释oci
3)重新启动Wamp:
4)不确定是否真的安装但是我在php.ini中获得了引用:
5)但仍无法连接:
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行的未知中
答案 0 :(得分:1)
manual告诉你哪里出错:
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)我在php.ini中取消注释oci
您的屏幕截图显示您已启用php_oci8
和php_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。
4)不确定是否真的安装但是我在php.ini中获得了引用:
已安装且已启用,但已正确配置。您的屏幕截图显示了PHP的编译方式以及各种代码作者,而不是您当前配置的任何内容。
要使扩展程序正常运行,请尝试以下操作:
c:\instantclient_12_1
。PATH
环境变量,以包含您提取InstantClient文件的位置,例如c:\instantclient_12_1
。php.ini
启用php_oci8_11g.dll
或 php_oci8_12c.dll
。您可能需要重新启动,以确保系统可以看到PATH
更改。
请注意,WAMP可能包含多个php.ini
个文件。确保编辑正确的。