我最近几天尝试使用运算符重载扩展(pecl.php.net/package/operator),最近显然已更新为与5.3和5.4兼容。
我尝试使用this guide在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文件,而是我得到的is this,这对我来说显然是无用的。我想要的是一个我可以用于本地WampServer设置的DLL。
我在pecl.php.net网站上尝试使用operator-0.4.1时遇到了致命错误,所以我从git存储库(github.com/php/pecl-php-operator)下载并编译,这就产生了.obj,.idb和.sbr文件。
答案 0 :(得分:5)
你必须做
configure --disable-all --enable-cli --enable-operator=shared
否则它是静态编译的。
无论如何,如果你想将它与WampServer一起使用,二进制文件可能无法正常工作,因为如果我没弄错,WampServer是针对VC10 C运行时库编译的,而你链接的指南指示你使用Visual Studio 2008 (附带VC9)。您需要使用VC10编译器(我认为它与Windows SDK 7.1捆绑在一起,因此您可以下载并跳过Visual Studio)。
答案 1 :(得分:0)
进入扩展名根路径,并修改config.w32
EXTENSION('redis', sources);
to EXTENSION('redis', sources,true);
buildconf --force
configure --enable-xx
nmake
您将获得php-redis.dll