PHP 5.3.1未在Windows上加载PHP_oci8.dll

PHP 5.3.1未在Windows上加载PHP_oci8.dll,windows,oracle,php,Windows,Oracle,Php,我正在尝试在php上加载oracle扩展,但出现错误: 警告:PHP启动:无法加载动态库“D:\Program Files\xampp\PHP\ext\PHP\u oci8.dll”-找不到指定的过程。 在第0行的未知位置 到目前为止,我已经做到了: windows路径中包含oracle instant client的完整路径 在php.ini上,扩展名\u dir指向正确的位置 在php.ini上extension=php_oci8.dll正常 重新启动apache,但没有任何效果 通过将文件

我正在尝试在php上加载oracle扩展,但出现错误:

警告:PHP启动:无法加载动态库“D:\Program Files\xampp\PHP\ext\PHP\u oci8.dll”-找不到指定的过程。 在第0行的未知位置

到目前为止,我已经做到了:

  • windows路径中包含oracle instant client的完整路径
  • 在php.ini上,
    扩展名\u dir
    指向正确的位置
  • 在php.ini上
    extension=php_oci8.dll
    正常
  • 重新启动apache,但没有任何效果

  • 通过将文件orannzsbb11.dll、oci.dll和ORAOCII11.dll复制到c:\windows\system32解决了此问题。我通过将“c:\Program files(x86)\PHP\v5.3\ext”添加到windows PATH环境变量中解决了此问题。如果升级PHP,您只需记住更改路径即可。我认为这比复制DLL要好,如果你在同一台机器上有多个不同版本的DLL,那么这会导致问题的发生。

    对我来说,这是因为没有安装VisualC++ 2008可供VisualStudio SP1(用于VC9)重新分配的。我必须得到x64软件包,因为我运行的是64位Windows7。希望这能帮助有同样问题的人。安装之后,PHP不再报告这些错误

    我发现这个问题背后的主要原因是oracle的oci8驱动程序版本。最后,我能够连接到oracle,我在这里描述的步骤对一些人来说可能非常明显,但最初对我来说不是这样的:如果您仍然看到此
    ,则无法找到指定的过程。在未知的第0行
    错误中,即使在安装了即时客户端、SDK等之后,也要确保将Oracle即时客户端路径放在系统的“path”变量中,而不是用户变量中,因为用户在Apache运行时显然不会被使用。您可以通过查看phpinfo()输出中显示的路径值来验证即时客户端路径设置是否正确。

    您需要从此超链接下载Oracle即时客户端。
    在用户环境变量和系统变量上添加即时客户端的路径。

    是否尝试绝对设置
    extension\u dir
    ?您是否尝试清空
    extention\u dir
    并绝对设置
    extention=php.oci8.dll
    ?你确定
    php_oci8.dll
    适合你的机器(32/64位?)我相信extension dir正在工作,因为我可以成功连接到mysql和postgresql数据库。im使用的php_oci8.dll是与xampp一起安装的。im使用的pc是32位的,那么dll.PHP5.3.1?你为什么用这么过时的版本?当前版本为5.3.17。在这些版本之间有很多补丁,包括很多安全补丁。因为我只是为个人书籍/dvd的数据库安装了它。不需要升级任何东西:)我们讨论了这个问题,但我们决定最好将dll添加到system32文件夹中。谢谢你的建议:)你文章的链接返回404页未找到错误。