2009-07-07 73 views
11

我目前正在改写PHP最初编写为PHP 4.2.2.的扩展我的问题是生成/编译过程生成.dll而不是将扩展编译到PHP核心。环境是windows server 2003.我使用Visual Studio 2008.如何将Windows 5.3的扩展插件编译为DLL?

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

要建立扩展的框架,我跑:

  1. php.exeext_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二进制文件中。任何人都可以将我指向正确的方向吗?

回答

8

尝试

configure.js --enable-myextension=shared 

编辑:也可能是

configure.js --with-myextension=shared 
+0

谢谢你大大的快速反应! – 2009-07-07 18:42:31