6

我正在尝试在 php 上加载 oracle 扩展,但我遇到了错误:

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

到目前为止我已经做了:

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

6 回答 6

7

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

于 2012-10-10T14:47:41.513 回答
2

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

于 2013-04-09T14:21:05.667 回答
2

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

于 2015-02-13T14:09:57.573 回答
1

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

于 2013-05-20T00:14:45.373 回答
1

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

于 2015-02-11T07:42:16.037 回答
0

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

于 2014-01-27T15:54:04.240 回答