PHP 5.3.1不在Windows上加载php_oci8.dll

时间:2012-10-10 13:24:08

标签: windows oracle php

我试图在php上加载oracle扩展但是我遇到错误:

  

警告:PHP启动:无法加载动态库' D:\ Program Files \ xampp \ php \ ext \ php_oci8.dll' - 找不到指定的程序。     0

到目前为止我已经完成了:

  1. 在Windows路径中包含oracle即时客户端的完整路径
  2. 在php.ini上,extension_dir指向正确的位置
  3. 在php.ini extension=php_oci8.dll上确定
  4. 重新启动了apache,没有任何作用。

6 个答案:

答案 0 :(得分:7)

将文件orannzsbb11.dll,oci.dll和oraociei11.dll复制到c:\ windows \ system32

解决了问题

答案 1 :(得分:2)

我通过在我的Windows PATH环境变量中添加“C:\ Program Files(x86)\ PHP \ v5.3 \ ext”解决了这个问题。如果升级PHP,您只需要记住更改路径。我认为这比复制dll更好,如果你最终在同一台机器上安装了不同版本的多个dll,那么可能会导致问题。

答案 2 :(得分:2)

您需要从此超链接http://www.oracle.com/technetwork/topics/winsoft-085727.html下载Oracle Instant Client。 在用户环境vriables和系统变量上添加即时客户端的路径。

答案 3 :(得分:1)

对我来说,这是因为没有安装Visual Studio 2008 SP1(适用于VC9)的Visual C ++ Redistributable。我必须得到x64包,因为我正在运行Windows 7 64位。希望这可以帮助有同样问题的人。安装后,PHP不再报告这些错误。

答案 4 :(得分:1)

我发现这个问题背后的主要原因是oracle的oci8驱动程序版本。最后,我能够连接到oracle以及我在http://angularcode.com/connecting-php-to-oracle-database-10g/

所描述的步骤

答案 5 :(得分:1)

对某些人来说可能非常明显,但最初并不适合我:如果您仍然看到此The specified procedure could not be found. in Unknown on line 0错误,即使在安装了即时客户端,SDK等之后 - 请确保放置Oracle 系统“PATH”变量中的即时客户端路径,而不是用户变量,因为当Apache运行时,用户显然不会使用它。您可以通过查看phpinfo()输出中显示的PATH值来验证是否正确设置了即时客户端路径。