如何编译PHP 5.3 for Windows的扩展名作为DLL?

时间:2009-07-07 18:17:22

标签: php windows dll compilation php-extension

我目前正在重写最初为PHP编写的PHP 4.2.2.扩展。我的问题是让构建/编译过程生成.dll而不是将扩展编译为{{ 1}}核心。环境是Windows Server 2003.我正在使用Visual Studio 2008。

我使用EXT_SKEL脚本生成框架,我可以成功地将扩展编译到php核心。我试图将其编译为PHP,以便我可以轻松地将其分发给我的客户。任何人都可以指出我正确的方向如何告诉.dll构建过程我想将我的扩展名编译为PHP 5.3而不是静态地编译成.dll本身?

要构建扩展程序框架,我运行:

  1. PHP php.exe
  2. 修改了config.w32以取消注释'ARG_ENABLE'行并启用默认值
  3. ext_skel_win32.php --extname=myextension --proto=myprototypefile.dat
  4. buildconf.bat
  5. NMAKE
  6. 我确认我可以在PHP中运行扩展的方法,但它不会产生可分发的.dll。相反,它将方法编译成PHP二进制文件。有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:8)

尝试

configure.js --enable-myextension=shared

编辑:也可能是

configure.js --with-myextension=shared