Fenêtres PHP7 ajoutant des extensions personnalisées et compilant le code source PHP
Matériel requis
Tutoriel recommandé :Tutoriel php7
① Déterminez la version qui doit être compilée, vérifiez PHPINFO et déterminez la version PHP, la version VC et le numéro de bit PHP. Téléchargez le Visual Studio ou le compilateur correspondant selon la version de PHP VC. La version du blogueur dans l'image ci-dessous est VC15. Vous devez télécharger la version de Visual Studio 2017
② Préparez-vous. le code source PHP selon vos propres besoins Le téléchargement de la version étendue correspond à l'adresse de téléchargement du code source WINDOWS (https://windows.php.net/download/)
③ Téléchargez le package PHP-sdk (cliquez sur à télécharger) (https://github.com/microsoft /php-sdk-binary-tools)
④Vous devez avoir PHP disponible localement et configurer les variables d'environnement
⑤Après avoir stocké le fichier téléchargé PHP-sdk, configurez le répertoire /bin Variables d'environnement
Démarrer l'opération
① Exécutez le script de traitement en fonction de la version Le blogueur est VC15 X64, alors exécutez php. -sdk-vc15-x64.bat, s'il n'est pas téléchargé Correspondant à la version VC de Visual Studio et du compilateur, le script de traitement clignotera uniquement puis se fermera.
Exécutez avec succès le script de traitement
②Exécutez la commande phpsdk_buildtree phpdev, phpdev peut le modifier selon vos préférences ( juste un nom). Après l'exécution, le script phpsdk_buildtree créera un chemin basé sur la version VC++ actuellement utilisée et passera au répertoire nouvellement créé
. Il y aura un dossier deps dans. Ignorez-le pour l'instant, mettez le code source PHP que nous avons préparé dans le répertoire du même niveau que deps
Entrez dans le répertoire du code source PHP décompressé, exécutez phpsdk_deps -u pour télécharger les packages de dépendances, vitesse du réseau Les amis trop lents peuvent ignorer cette étape
③Ajouter une extension PHP personnalisée
Entrez le code source/ext et recherchez ext_skel_win32.php Remarque : PHP7.3. la version n'a pas ce fichier, vous pouvez l'utiliser directement ext_skel
La version PHP7.3 peut être utilisée
PHP7.2 est plus difficile, car pour exécuter un script LINUX, Windows ne peut pas l'exécuter directement, vous devez donc télécharger un outil pour l'exécuter. Le blogueur a installé Git intègre le jeu de commandes LINUX, il peut donc l'être. parcourez-le. Les amis qui ne l'ont pas installé peuvent également télécharger l'environnement de simulation Cygwin
Exécuter php ext_skel_win32.php --extname=loud name
Après une exécution réussie, il y aura ce dossier sous /ext
Il suffit de modifier my_test .c et config.m4, un corps de programme et un fichier de configuration
Entrez my_test.c et trouvez la fonction dans l'image ci-dessous
Ensuite, nous pouvons écrivez votre logique
Une fois terminé, nous commençons la compilation (remarque : la compilation est le CMD ouvert avec VC, pas le CMD où nous exécutons ext_skel_win32.php. Si vous avez quitté, vous pouvez cliquer à nouveau sur VC15-x64.bat pour entrer. Bien sûr, PHP7.3 peut ignorer cela)
Entrez le répertoire racine du code source et exécutez buildconf
Exécuter configure --help La version PHP7.2 aura certains problèmes mineurs, nous ouvrons le configure.js dossier Une autre solutionOuvrez le config.w32 du code source de l'extension, recherchez le // Sinon, utilisez le commentaire ARG_ENABLE, supprimez-le et relancez buildconf
Après une opération réussie, vous verrez l'extension que nous avons créée
🎜>
Exécutez configure --disable-all --enable-cli --enablie-my_test=shared, si shared n'est pas ajouté, il n'y aura pas de fichier .dll compilé Vous pouvez voir que notre extension est sur le point de décollerExécutez nmake pour démarrer la compilationCompilez avec succès Après avoir entré (le blogueur est X64, si vous compilez en 32 bits, c'est
Il n'est pas nécessaire d'écrire comment utiliser l'extension PHP. Cependant, s'il y a des problèmes avec l'utilisation de l'extension, vous pouvez exécuter nmake clean, le recompiler et l'utiliser. S'il y a encore des problèmes, cela signifie que la version compilée que vous avez choisie ne correspond pas à celle que vous utilisez.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!