将php扩展编译为dll

use*_*390 2 php windows dll php-extension php-internals

我最近几天尝试使用运算符重载扩展(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文件,而是我得到的是这个,这对我来说显然是无用的.我想要的是我可以用于本地WampServer设置的DLL.

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

Art*_*cto 5

你必须做

configure --disable-all --enable-cli --enable-operator=shared
Run Code Online (Sandbox Code Playgroud)

否则它是静态编译的.

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