Windows WAMP PHP 扩展开发
1.开发准备
安装WAMP,使用的版本为WampServer Version 2.5,其中PHP的版本为5.5.12。
WAMP安装目录:D:\wamp
apache目录:D:\wamp\bin\apache
php目录:D:\wamp\bin\php
下载PHP-5.5.12源码包,解压到任意目录。例如:E:\php-5.5.12
2.通过phpinfo()查询php版本的编译的相关信息,主要查看:
CompilerMSVC11 (Visual C++ 2012)
Architecturex86
Zend Extension BuildAPI220121212,TS,VC11
PHP Extension BuildAPI20121212,TS,VC11
从以上的信息可以看出WampServer 2.5中的php是通过MSVC11(VS2012)在x86(win32)进行编译且设置了TS(Thread Safe)属性。
所以在编译扩展插件时也需要使用相同的编译环境及TS设置(默认值为TS)
3.生成编译插件时需要的config.w32.h文件
打开“VS2012 开发人员命令提示”并进入E:\php-5.5.12目录;
执行buildconf.bat命令,该命令在当前目录下生成configure.js文件;
执行configure命令,生成E:\php-5.5.12\main\config.w32.h文件。
如果执行过程中出现bison相关的错误,说明你没有安装bison,可以打开configure.js文件并注释如下三行,再重新执行configure命令。
if (!PATH_PROG('bison')) {
ERROR('bison is required')
}
为什么可以这么操作,因为我们不需要编译PHP,只需要生成config.w32.h文件,以编译扩展插件。
4.插件编译文件准备
进入E:\php-5.5.12\ext目录,复制E:\php-5.5.12\ext\skeleton目录并重命名为你所需要开发插件的名字,如my_plugin;
将php_skeleton.h,skeleton.c和skeleton.dsp重命名为php_my_plugin.h,my_plugin.c和my_plugin.dsp;
分别打开上面的三个文件,将文件中的extname替换为my_plugin,EXTNAME替换为MY_PLUGIN(保证大小写一致);
将D:\wamp\bin\php\php5.5.12\dev\php5ts.lib复制到my_plugin目录。
5.编译插件及安装
使用VS2012打开my_plugin.dsp文件,选择Release_TS(生成Release版本)并配置编译为C代码(解决方案属性-配置属性-C/C++-高级-编译为-编译为 C 代码 (/TC));
编译解决方案并生成插件所对应的php_my_plugin.dll文件(位于E:\php-5.5.12\Release_TS目录);
将编译生成的dll文件复制到Wamp PHP扩展目录(D:\wamp\bin\php\php5.5.12\ext);
编辑D:\wamp\bin\apache\apache2.4.9\bin\php.ini文件,查找"extension="关键字并在PHP原有插件的后面添加"extension=php_my_plugin.dll";
特别注意:所编辑的php.ini不是D:\wamp\bin\php\php5.5.12\php.ini,因为Wamp初始化PHP时,读取位置在D:\wamp\bin\apache\apache2.4.9\bin\php.ini文件。
重启Apache服务器。
6.测试插件
如果插件加载成功,重启Apache服务器访问phpinfo()即可看到新添加的my_plugin插件。
生成my_plugin_test.php文件,放置到D:\wamp\www目录,文件内容如下:
echo confirm_my_plugin_compiled("my_plugin");
?>
使用浏览器访问上面新建的my_plugin_test.php文件,出现如下页面,说明插件运行正常:
Congratulations! You have successfully modified ext/my_plugin/config.m4. Module my_plugin is now compiled into PHP.
版权声明:本文为博主原创文章,未经博主允许不得转载。
以上就介绍了Windows WAMP PHP 扩展开发,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP et Python ont chacun leurs propres avantages et choisissent en fonction des exigences du projet. 1.Php convient au développement Web, en particulier pour le développement rapide et la maintenance des sites Web. 2. Python convient à la science des données, à l'apprentissage automatique et à l'intelligence artificielle, avec syntaxe concise et adaptée aux débutants.

Pour configurer un répertoire CGI dans Apache, vous devez effectuer les étapes suivantes: Créez un répertoire CGI tel que "CGI-Bin" et accorder des autorisations d'écriture Apache. Ajoutez le bloc directif "Scriptalias" dans le fichier de configuration Apache pour mapper le répertoire CGI à l'URL "/ cgi-bin". Redémarrez Apache.

PHP est toujours dynamique et occupe toujours une position importante dans le domaine de la programmation moderne. 1) La simplicité de PHP et le soutien communautaire puissant le rendent largement utilisé dans le développement Web; 2) sa flexibilité et sa stabilité le rendent exceptionnelle dans la gestion des formulaires Web, des opérations de base de données et du traitement de fichiers; 3) PHP évolue et optimise constamment, adapté aux débutants et aux développeurs expérimentés.

Les étapes pour démarrer Apache sont les suivantes: Installez Apache (Commande: Sudo apt-get install Apache2 ou téléchargez-le à partir du site officiel) Start Apache (Linux: Sudo SystemCTL Démarrer Apache2; Windows: Cliquez avec le bouton droit sur le service "APACHE2.4" et SELECT ") Vérifiez si elle a été lancée (Linux: SUDO SYSTEMCTL STATURE APACHE2; (Facultatif, Linux: Sudo SystemCTL

PHP est utilisé pour créer des sites Web dynamiques, et ses fonctions principales incluent: 1. Générer du contenu dynamique et générer des pages Web en temps réel en se connectant à la base de données; 2. Traiter l'interaction utilisateur et les soumissions de formulaires, vérifier les entrées et répondre aux opérations; 3. Gérer les sessions et l'authentification des utilisateurs pour offrir une expérience personnalisée; 4. Optimiser les performances et suivre les meilleures pratiques pour améliorer l'efficacité et la sécurité du site Web.

Lorsque le port Apache 80 est occupé, la solution est la suivante: découvrez le processus qui occupe le port et fermez-le. Vérifiez les paramètres du pare-feu pour vous assurer qu'Apache n'est pas bloqué. Si la méthode ci-dessus ne fonctionne pas, veuillez reconfigurer Apache pour utiliser un port différent. Redémarrez le service Apache.

PHP est largement utilisé dans le commerce électronique, les systèmes de gestion de contenu et le développement d'API. 1) E-commerce: Utilisé pour la fonction de panier et le traitement des paiements. 2) Système de gestion du contenu: utilisé pour la génération de contenu dynamique et la gestion des utilisateurs. 3) Développement des API: Utilisé pour le développement de l'API RESTful et la sécurité de l'API. Grâce à l'optimisation des performances et aux meilleures pratiques, l'efficacité et la maintenabilité des applications PHP sont améliorées.

PHP utilise les extensions MySQLI et PDO pour interagir dans les opérations de base de données et le traitement de la logique côté serveur, et traite la logique côté serveur via des fonctions telles que la gestion de session. 1) Utilisez MySQLI ou PDO pour vous connecter à la base de données et exécuter les requêtes SQL. 2) Gérer les demandes HTTP et l'état de l'utilisateur via la gestion de session et d'autres fonctions. 3) Utiliser les transactions pour assurer l'atomicité des opérations de base de données. 4) Empêcher l'injection de SQL, utiliser les connexions de gestion des exceptions et de clôture pour le débogage. 5) Optimiser les performances via l'indexation et le cache, écrivez du code très lisible et effectuez une gestion des erreurs.
