2

最近几天我一直在尝试使用运算符重载扩展(pecl.php.net/package/operator),它最近显然已更新为与 5.3 和 5.4 兼容。

我尝试使用本指南在 Windows(64 位 Windows 7)中编译它,使用 PHP 5.4 和 Windows SDK 7.1 没有运气。因此,我尝试使用 PHP 5.3 和 Windows SDK 6.1 进行此操作,我可以使用配置“configure --disable-all --enable-cli --enable-operator”和“nmake”成功编译它。问题是它不会为运算符扩展生成 dll 文件,而是我得到的是 this,这对我来说显然没用。我想要的是一个可用于本地 WampServer 设置的 dll。

我在尝试使用 pecl.php.net 站点上的 operator-0.4.1 时遇到了致命错误,所以我从 git 存储库 (github.com/php/pecl-php-operator) 下载并编译,这就是生成了 .obj、.idb 和 .sbr 文件。

4

2 回答 2

5

你所要做的

configure --disable-all --enable-cli --enable-operator=shared

否则它是静态编译的。

无论如何,如果你想将它与 WampServer 一起使用,二进制文件可能无法工作,因为如果我没记错的话,WampServer 是针对 VC10 C 运行时库编译的,而你链接到的指南指示你使用 Visual Studio 2008(它附带与 VC9)。您需要使用 VC10 编译器(我认为它与 Windows SDK 7.1 捆绑在一起,因此您可以只下载它并跳过 Visual Studio)。

于 2013-05-22T14:26:27.390 回答
0

进入扩展根路径,并修改config.w32

EXTENSION('redis', sources); to EXTENSION('redis', sources,true);

buildconf --force

configure --enable-xx 

nmake

你会得到php-redis.dll

于 2019-03-07T04:19:29.787 回答