2009-07-07 6 views
11

Je suis actuellement en train de réécrire une extension PHP écrite à l'origine pour PHP 4.2.2. Mon problème est que le processus build/compile génère un .dll au lieu de compiler l'extension dans le core PHP. L'environnement est Windows Server 2003. J'utilise Visual Studio 2008.Comment puis-je compiler une extension pour PHP 5.3 pour Windows en tant que DLL?

J'ai utilisé le script EXT_SKEL pour générer le framework, et je peux compiler avec succès l'extension dans le noyau PHP. J'essaye plutôt de le compiler comme un .dll afin que je puisse facilement le distribuer à mes clients. Quelqu'un peut-il me diriger dans la bonne direction pour savoir comment dire au processus de construction PHP 5.3 que je voudrais compiler mon extension en tant que .dll au lieu de staticly en PHP lui-même?

Pour construire je lance le cadre de l'extension:

  1. php.exeext_skel_win32.php --extname=myextension --proto=myprototypefile.dat
  2. modifié config.w32 décommenter la ligne 'ARG_ENABLE' et faire défaut ENABLED
  3. buildconf.bat
  4. cscript /nologo configure.js
  5. nmake

Je confirme que je peux exécuter les méthodes de l'extension à partir de PHP, mais cela ne produit pas de .dll distribuable. à la place, il compile les méthodes dans le binaire PHP. Est-ce que quelqu'un peut-il me montrer la bonne direction?

Répondre

8

Essayez

configure.js --enable-myextension=shared 

modifier: peut aussi être

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

Merci beaucoup pour la réponse rapide! –

Questions connexes