';c:/wamp64/bin/php/php7.0.10/ext/php#oci8#u12c.dll';-%1不是有效的win32应用程序

';c:/wamp64/bin/php/php7.0.10/ext/php#oci8#u12c.dll';-%1不是有效的win32应用程序,php,oracle,wampserver,oracle-call-interface,php-5.6,Php,Oracle,Wampserver,Oracle Call Interface,Php 5.6,为了从php访问远程Oracle数据库,我必须激活扩展名php\u oci8\u 12c。但是当我这样做时,它不会出现在phpinfo()中。 另一方面,我在php日志中看到错误消息: [13-Jan-2017 08:39:48 UTC]PHP警告:PHP启动:无法加载动态库'c:/wamp64/bin/PHP/php7.0.10/ext/PHP_oci8_12c.dll'-%1不是有效的win32应用程序 我使用PHP5.6.25和wampserver 3.0.6(64位)。我如何解决这个问题

为了从php访问远程Oracle数据库,我必须激活扩展名
php\u oci8\u 12c
。但是当我这样做时,它不会出现在
phpinfo()
中。 另一方面,我在php日志中看到错误消息:

[13-Jan-2017 08:39:48 UTC]PHP警告:PHP启动:无法加载动态库'c:/wamp64/bin/PHP/php7.0.10/ext/PHP_oci8_12c.dll'-%1不是有效的win32应用程序


我使用PHP5.6.25和wampserver 3.0.6(64位)。我如何解决这个问题?

嗯,我也遇到了这个错误,并设法解决了它。

在下载各种Oracle客户端版本之前,只需查看配置命令部分的设置

这将告诉您,哪个版本的Oracle用于构建WAMP服务器

上图显示了这两行:

"--with-pdo-oci=c:\php-sdk\oracle\x64\instantclient_12_1\sdk,shared"
"--with-oci8-12c=c:\php-sdk\oracle\x64\instantclient_12_1\sdk,shared"
显然,告诉我们使用的InstantClient是64位的

InstantClient 12.1 x64有两个版本:12.1.0.2.0和12.1.0.1.0

我用12.1.0.2.0版本进行了测试,但失败了。
在那之后,我用旧版本12.1.0.1.0版本进行了测试并成功了。

从以下文件下载并解压缩到“c:\oracle”:

  • instantclient-basic-windows.x64-12.1.0.2.0.zip
  • instantclient-sqlplus-windows.x64-12.1.0.2.0.zip
  • instantclient-sdk-windows.x64-12.1.0.2.0.zip
这将创建以下文件夹“C:\Oracle\instantclient\u 12\u 1”。
使用“Windows命令提示符”(WIN+R CMD)转到上面的文件夹并执行SQLPLUS:

  • sqlplus[user]/[pass]@[host]:[port]/[service]
你必须能够连接

最后,将“C:\Oracle\instantclient\u 12\u 1”文件夹添加到路径环境变量中,将其放置在最左侧

关闭WAMP服务器

是,关闭它,因为环境变量仅在启动时读取。
因此,重新启动服务可能会失败,从而导致错误的结果。

重新启动后,PHPINFO将显示已加载的OCI8和PDO_OCI


我希望有帮助

看起来您混合了32位和64位。您的php也是64位的吗?我安装了wamp 64位,我想它为我提供了一个64位的phpI,假设您还必须安装Oracle客户端。你这样做了吗(Oracle 12c,也是64位!)我想访问远程数据库Oracle 9i 64位,在我的电脑上,我有sqlplus 9.2.0.1.0 32位可能你的wamp/php需要Oracle客户端-在这种情况下,它必须是64位版本。Oracle 9i在15年前已经被淘汰,使用12c客户端连接到9i数据库并不一定有效——很可能无法工作。这应该添加到php.net的指南中。答案很好,我已经找了很长时间了。谢谢非常感谢你!在尝试了许多其他方法之后,这也对我起了作用。我在Windows10上使用AppServ。真是太神奇了。是的,这对我也有用。如果您使用64位的默认XAMPP(截至2019年11月13日),则需要使用未在下载页面正式列出的64位版本的12.10.10(与12.10.20版本相反)即时客户端。我编辑了URL并在此处找到它: