首页 文章

PHP 5.3.1不在Windows上加载php_oci8.dll

提问于
浏览
6

我正在尝试在PHP上加载oracle扩展但我有错误:

警告:PHP启动:无法加载动态库'D:\ Program Files \ xampp \ php \ ext \ php_oci8.dll' - 找不到指定的过程 . 在第0行的未知中

到目前为止我做了:

  • 在Windows路径中包含oracle即时客户端的完整路径
    在php.ini上

  • extension_dir 指向正确的位置

  • 在php.ini extension=php_oci8.dll 上没问题

  • 重新启动了apache,没有任何效果 .

6 回答

  • 7

    通过将文件orannzsbb11.dll,oci.dll和oraociei11.dll复制到c:\ windows \ system32解决了问题

  • 1

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

  • 2

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

  • 2

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

  • 1

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

  • 1

    可能对某些人来说很明显,但即使在安装了即时客户端,SDK等之后仍然没有看到 The specified procedure could not be found. in Unknown on line 0 错误 - 请确保将Oracle即时客户端路径放在 system "PATH"变量中,而不是 user 变量中, Apache运行时显然不会使用用户 . 您可以通过查看phpinfo()输出中显示的PATH值来验证是否正确设置了即时客户端路径 .

相关问题