在Windows上使用WAMP安装PHP xdiff

问题描述 投票:2回答:2

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

我正在尝试使用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] [警告]初始化:未配置会话缓存[提示: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] [警告]初始化:未配置会话缓存[提示:SSLSessionCache]PHP警告:PHP启动:无法加载动态库'c:/wamp/bin/php/php5.3.13/ext/php_xdiff.dll'-找不到指定的模块。\ r \ n在第0行的Unknown中警告

:PHP启动:无法加载动态库'c:/wamp/bin/php/php5.3.13/ext/php_xdiff.dll-找不到指定的模块。

0]行中的未知中>

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

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

好,很公平。遵循this page的建议,我编译了libxdiff,但随后进入读取的步骤

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

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

有人有什么建议吗?

我不敢相信以前没有问过这个问题,但是这里有:我正在尝试使用WAMP和PHP版本5.3在Windows(64位)上安装xdiff。 pecl.php.net为此不提供.dll文件...

[确定,根据此消息,我认为您正在运行32位Wampserver。没关系,32位代码可以在64位操作系统上运行,但反之则不行。

PHP警告:PHP启动:无法加载动态库'c:/wamp/bin/php/php5.3.13/ext/php_xdiff.dll'-%1不是有效的Win32

应用程序。\ r \ n在第0行的[未知]中]

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

由于WampServer配置Apache和PHP的方式,您将需要Thread Safe dll,即下载文件名包含-ts-

而不是-nts-

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

php_xdiff from here

pecl dependancies compiled libraries from here, like libxdiff

与RiggsFolly已经发布的内容互补,这是正确的,请记住,您需要在php.ini文件中包括xdiff才能在Wamp中使用xdiff *函数。

这可能很棘手,因为wamp \ bin \ php目录中实际上有两个php.ini文件。一个叫做php.ini,另一个叫做phpForApache.ini,活动的一个叫做phpForApache.ini(或者至少是我设置的样子)

要包括xdiff扩展名,您需要在php.ini文件中搜索extension=并添加xdiff扩展名,如下所示:

PHP 7.1或更早版本

extension=... (other extensions)
extension=php_xdiff.dll

PHP 7.2 +

extension=... (other extensions)
extension=xdiff
php wampserver pecl
2个回答
2
投票

[确定,根据此消息,我认为您正在运行32位Wampserver。没关系,32位代码可以在64位操作系统上运行,但反之则不行。

PHP警告:PHP启动:无法加载动态库'c:/wamp/bin/php/php5.3.13/ext/php_xdiff.dll'-%1不是有效的Win32


0
投票

与RiggsFolly已经发布的内容互补,这是正确的,请记住,您需要在php.ini文件中包括xdiff才能在Wamp中使用xdiff *函数。

这可能很棘手,因为wamp \ bin \ php目录中实际上有两个php.ini文件。一个叫做php.ini,另一个叫做phpForApache.ini,活动的一个叫做phpForApache.ini(或者至少是我设置的样子)

要包括xdiff扩展名,您需要在php.ini文件中搜索extension=并添加xdiff扩展名,如下所示:

PHP 7.1或更早版本

© www.soinside.com 2019 - 2024. All rights reserved.