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

Ben*_*ner 11 php windows dll compilation php-extension

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

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

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

  1. php.exe ext_skel_win32.php --extname=myextension --proto=myprototypefile.dat
  2. 修改了config.w32以取消注释'ARG_ENABLE'行并启用默认值
  3. buildconf.bat
  4. cscript /nologo configure.js
  5. NMAKE

我确认我可以在PHP中运行扩展的方法,但它不会产生可分发的.dll.相反,它将方法编译成PHP二进制文件.谁能指出我正确的方向?

Vol*_*erK 8

尝试

configure.js --enable-myextension=shared
Run Code Online (Sandbox Code Playgroud)

编辑:也可能

configure.js --with-myextension=shared
Run Code Online (Sandbox Code Playgroud)