【问题标题】:WinXP - PHP Startup: Unable to load dynamic library php_ibm_db2.dllWinXP - PHP 启动:无法加载动态库 php_ibm_db2.dll
【发布时间】:2012-07-27 18:45:32
【问题描述】:

运行 Windows XP Professional SP 3

PHP 版本 5.3.14

Zend 服务器版本 5.6.0

Apache/2.2.22 (Win32) mod_ssl/2.2.22

PHP 警告:PHP 启动:无法加载动态库 'C:\Program Files\Zend\ZendServer\lib\phpext\php_ibm_db2.dll' - 指定的 找不到程序。在第 0 行的未知中

这是我的“路径”变量中的所有内容。

C:\app\adam\product\11.2.0\client_1
;C:\app\adam\product\11.2.0\client_1\bin
;%SystemRoot%\system32
;%SystemRoot%
;%SystemRoot%\System32\Wbem
;C:\PROGRA~1\IBM\CLIENT~1
;C:\PROGRA~1\IBM\CLIENT~1\Shared
;C:\PROGRA~1\IBM\CLIENT~1\Emulator
;C:\PHP
;C:/PHP
;C:\Program Files\Zend\ZendServer\bin
;C:\Program Files\Zend\ZendServer\share\ZendFramework\bin
;C:\PROGRA~1\IBM\SQLLIB\BIN
;C:\PROGRA~1\IBM\SQLLIB\FUNCTION

文件属性:

C:\Program Files\Zend\ZendServer\lib\phpext\php_ibm_db2.dll
Size: 51.5 KB (52,736 bytes)
Created: Sunday, July 01, 2012, 12:18:48 PM
Modified: Tuesday, June 07, 2011, 3:43:00 PM

我的 PHP.ini 文件位于 C:\PHP

extension_dir = "C:\PHP\ext"

extension=php_ibm_db2.dll

在我的整个 C:\ 驱动器中搜索 php_ibm_db2.dll 得到:

如果我可以提供任何其他详细信息,请告诉我。我很困惑为什么它“找不到”这个文件。

感谢您的帮助

-- 7 月 30 日更新--

仍然没有解决方案,但我可能发现了一个问题:

本页左侧:http://windows.php.net/download/

“我选择哪个版本? 如果您在 apache.org 中将 PHP 与 Apache 1 或 Apache2 一起使用,则需要使用 VC6 版本的 PHP"

由于我们使用的是Apache2,根据上面的说法,我们需要使用VC6版本的PHP。

PHP 5.4 和 PHP 5.3 是 VC9。 PHP 5.2 是唯一列出的 VC6。 PHP 5.2 下载“php-5.2.17-nts-Win32-VC6-x86.msi”不包含 php_ibm_db2.dll 文件。

我尝试将 5.3 中的 .DLL 文件与 PHP 5.2 一起使用,但也得到了相同的错误消息。

【问题讨论】:

  • 我也遇到了同样的问题。我在您的其他帖子中看到您似乎已经完成了这项工作。关于这个问题的任何指导?
  • @Jim 没有很多关于这个问题的帖子,我相信你会看到我的名字很多 =]。我们最终与 Zend 的 PHP“专家”Mike Pavlak 进行了一对一的交流。几乎不支持从本地 Windows 机器连接到服务器 DB2。他让我们下载了一些工具(我认为是他制作的),作为我们联系的中间件。请看这篇文章archive.midrange.com/web400/201005/msg00058.html你也可以做一个谷歌搜索,这会有所帮助(不带括号)[php windows connect db2“mike pavlak”]

标签: php apache dll db2 zend-server


【解决方案1】:

使其在 Windows 上与 PHP5.5/apache2.4.9/mysql5.5 一起工作的步骤:

所有库必须根据您的操作系统保持一致,如果您使用 32 位下载 32 位库,与 64 位相同,请勿混合使用。

1) 安装 iSeries 客户端库 (https://www-01.ibm.com/marketing/iwm/iwm/web/preLogin.do?source=swg-idsdpds) 您需要一个 IBM ID 才能下载,如果您没有,只需注册即可。

2) 配置您的 WAMP 服务器并创建一个 phpinfo() 脚本来检查 CompilerThread Safe 字段。

3) 打开你的 php.ini 并添加/修改: extension_dir = "C:\wamp\bin\php\php5.5.12\ext\" extension=php_ibm_db2.dll

4) 下载 ibm_db2 (https://pecl.php.net/package/ibm_db2/1.9.7/windows) 的 PECL,并使用步骤 2) 的 CompilerThread Safe 进行检查,在我的情况下为 5.5 Thread Safe (TS) x64,当我下载文件的名称是php_ibm_db2-1.9.7-5.5-ts-vc11-x64 表示Compiler VC11,TS(线程安全),64 位 1.9.7 版本。

5) 解压缩文件并将php_ibm_db2.dll 复制到您的php extension_dir,在我的情况下为"C:\wamp\bin\php\php5.5.12\ext\"

6) 重启 Apache,

7) 运行“<?php echo phpinfo()?>”,如果您看到ibm_db2 部分,它可以工作。

【讨论】:

    【解决方案2】:

    您需要先安装DB2 Runtime Client

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-30
      • 2019-04-03
      • 2015-03-01
      • 2021-04-03
      • 2020-03-16
      • 2016-11-27
      • 2021-10-05
      • 2020-02-26
      相关资源
      最近更新 更多