使用 WAMP 在 Windows 上安装 PHP xdiff

Swi*_*art 5 php pecl wampserver

我不敢相信以前没有人问过这个问题,但这里是:

我正在尝试使用 WAMP 和 PHP 版本 5.3 在 Windows(64 位)上安装 xdiff。

pecl.php.net 不提供此组合的 .dll 文件,因此我尝试下载 5.3 x86 文件和 5.5 x64 版本,但都不起作用。x86 版本在 apache 日志中生成以下警告:

[Thu Jun 05 15:55:47 2014] [警告] Init:会话缓存未配置 [提示:SSLSessionCache] PHP 警告:PHP 启动:无法加载动态库 'c:/wamp/bin/php/php5.3.13 /ext/php_xdiff.dll' - %1 不是有效的 Win32 应用程序。\r\n 位于第 0 行的未知
警告:PHP 启动:无法加载动态库 'c:/wamp/bin/php/php5.3.13/ ext/php_xdiff.dll' - %1 不是有效的 Win32 应用程序。

在第0未知

x64 版本生成此警告:

[Thu Jun 05 15:58:16 2014] [警告] Init:会话缓存未配置 [提示:SSLSessionCache] PHP 警告:PHP 启动:无法加载动态库 'c:/wamp/bin/php/php5.3.13 /ext/php_xdiff.dll' - 无法找到指定的模块。\r\n 位于第 0 行未知
警告:PHP 启动:无法加载动态库 'c:/wamp/bin/php/php5.3.13/ext /php_xdiff.dll' - 找不到指定的模块。

在第0未知

那时,我回去仔细阅读了自述文件,发现了以下行:

此扩展需要 libxdiff ( http://www.xmailserver.org/xdiff-lib.html )。

好吧,很公平。按照本页上的建议,我编译了 libxdiff 但随后我到达了以下步骤:

编译后,您需要将所有标头和库复制到适当的 PHP 库目录中。

我不知道“适当的 PHP 库目录”是什么,也不知道我应该复制哪些文件,即使缺少 libxdiff 也是问题所在(或者真正的问题是我正在使用的 .dll 文件)只是与 PHP 5.3 x64 不兼容,我应该尝试编译 PECL 扩展而不是 libxdiff)。

有人有建议吗?

Rig*_*lly 2

好的,根据此消息,我假设您正在运行 32 位 Wampserver。没关系,32 位代码可以在 64 位操作系统上运行,但反之则不然。

PHP 警告:PHP 启动:无法加载动态库 'c:/wamp/bin/php/php5.3.13/ext/php_xdiff.dll' - %1 不是有效的Win32应用程序。\r\n 在第 0 行的未知中

所以你需要下载 32 位版本的 php_xdiff

由于 WampServer 配置 Apache 和 PHP 的方式,您将需要Thread Safedll,即下载文件名包含-ts-而不是-nts-

当您尝试将其添加到 PHP5.3.x 时,您可能需要使用 VC9 编译的版本,除非 PHP5.3.you_dont_specify 太旧,它是使用 VC6 编译的,在这种情况下,我不确定您可以从哪里获得版本。在这种情况下,您可能会考虑至少升级 Apache 和 PHP 版本。

php_xdiff 从这里

pecl 依赖项从这里编译了库,例如 libxdiff