【问题标题】:Unable to load dynamic library php_oci8_12c.dll无法加载动态库 php_oci8_12c.dll
【发布时间】:2018-07-30 21:57:12
【问题描述】:

好的,我也有同样的问题。

要修复它,我必须安装 oracle 即时客户端和 oci8_12c 的 NTS dll

当我启动 WAMP 时出现此错误:

[20-Feb-2018 13:40:38 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'd:/wamp64/bin/php/php5.6.31/ext/php_oci8_12c.dll'

在第 0 行的未知中

我还将 ext 文件夹和 oracle 即时客户端添加到 PATH

PHP 版本:5.6.31 Oracle 即时客户端 11.2.0.4.0 x64 NTS x64 php_oci8_12c.dll

我下载了 Visual Studio 2005(oracle 即时客户端需要)

我有一个 64 位的 windows 10 系统

我该怎么办?

编辑

php.ini

extension=php_oci8_12c.dll 不带“;”

Thead-safe dll 给出了同样的问题

【问题讨论】:

  • 我已经在 stackoverflow 上查看了许多其他解决方案,但没有一个有效
  • 通过 Apache 运行 PHP 应该始终是 TS(线程安全),所以 oci8_12c 也需要是 TS。
  • @MonkeyZeus 我更改了它,结果相同,我从这里下载了两个:windows.php.net/downloads/pecl/releases/oci8/2.0.8
  • 所以你有php_oci8_12c.dll的VC11?
  • 你的意思是我需要 Visual Studio 2012? @MonkeyZeus

标签: php oracle client oci8 instant


【解决方案1】:

我在 wamp64 中启用了 oci8 以执行此操作:

oci.dlloraociei12.dlloraons.dll 复制到 apache/bin 文件夹。

参考:https://community.oracle.com/thread/4178182

【讨论】:

  • 那个 dll 已经存在了。当我运行 composer 这个错误显示 PHP 警告:PHP 启动:无法加载动态库 'xampp\php\ext\php_oci8_12c.dll' - 找不到指定的模块。
【解决方案2】:

我希望你解决了你的问题,我正在为下一个面对这个问题的人发帖。

4 天后,我终于找到了解决问题的方法。

如果在将 PATH 环境变量添加到即时客户端的完整路径后,例如:C:\instantclient_{version} 并且在重新启动您的网络服务器(IIS、WAMP、XAMP 等)后,您仍然会收到以下错误消息之一:

There is something wrong with your system - please check that PATH includes the directory with Oracle Instant Client libraries

PHP Warning: PHP Startup: Unable to load dynamic library 'c:/wamp64/bin/php/php5.6.38/ext/php_oci8_12c.dll' - The specified procedure cannot be found.

这是因为 PHP 仍然无法从 Instant Client 访问文件。

要解决这个问题,您必须将完整路径添加到您的即时客户端,但要在系统变量上,而不是在用户变量中。

完成后,只需重新启动您的网络服务器,就完成了 :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-26
    • 2019-04-03
    • 2016-08-25
    • 2017-03-03
    • 2017-07-29
    • 2019-01-03
    • 2019-07-30
    相关资源
    最近更新 更多