Table des matières
第一步、生成代码
第二步、修改配置
第三步、实现功能
第四步、编译扩展
第五步、添加扩展
Maison développement back-end tutoriel php PHP扩展开发详细教程

PHP扩展开发详细教程

Jun 20, 2016 pm 01:01 PM
视频教程

在几种情况下,我们会需要进行PHP扩展开发:

1、PHP本身无法访问的资源或是调用,

2、通过扩展的方式可以实现处于性能和效率的考虑,

3、用C实现会更好

4、处于商业或代码保护考虑,将代码封装起来

5、为了更深入的了解PHP,从这里入门

假设有这么一个扩展,提供一个叫ccvita_string的函数。下面详细介绍怎么样制作这样一个PHP扩展:

第一步、生成代码

PHP为了扩展开发的方便,提供了一个类似代码生成器的工具ext_skel,具体可以参见说明。
首先我们创建一个文件scutephp.skel,它的内容为
string scutephp_string(string str)
Copier après la connexion

就是告诉ext_skel这个东西,我们要做的扩展里面有个函数叫scutephp_string。然后执行
cd usr/src/php-5.3.8/ext/<br />./ext_skel --extname=scutephp --proto=scutephp.skel<br />cd scutephp/
Copier après la connexion

这时候,ccvita这个扩展的代码框架就已经出来了。

第二步、修改配置

然后修改config.m4文件将10、11、12三行最前面的dnl删除掉,就是将
dnl PHP_ARG_WITH(ccvita, for ccvita support,<br />dnl Make sure that the comment is aligned:<br />dnl [  --with-scutephp            Include scutephp support])
Copier après la connexion

修改为
PHP_ARG_WITH(scutephp, for scutephp support,<br />Make sure that the comment is aligned:<br />[  --with-scutephp             Include scutephp support])
Copier après la connexion

第三步、实现功能

修改源码scutephp.c文件
找到将scutephp_string这个函数修改为
PHP_FUNCTION(scutephp_string)<br />{<br />    char *str = NULL;<br />    int argc = ZEND_NUM_ARGS();<br />    int str_len;<br />    char *result;<br /><br />    if (zend_parse_parameters(argc TSRMLS_CC, "s", &str, &str_len) == FAILURE) <br />        return;<br /><br />    str_len = spprintf(&result, 0, "<a href="%.78s">Link</a>", str);<br />    RETURN_STRINGL(result, str_len, 0); <br />}
Copier après la connexion

第四步、编译扩展

保存后,开始编译
/usr/local/php/bin/phpize<br />./configure --with-php-config=/usr/local/php/bin/php-config<br />make
Copier après la connexion

第五步、添加扩展

这时候,一切顺利的话,该扩展已经在modules/scutephp.so这个位置了。下面就是将这个扩展加入到PHP中去,让我们PHP程序可以调用到。
cp modules/scutephp.so /usr/local/php/ext/<br />vim /usr/local/php/etc/php.ini<br />extension=/usr/local/php/ext/scutephp.so #在php.ini文件最后增加这一行<br />service php-fpm restart #重启PHP服务<br />cp ccvita.php /data/www/wwwroot/default/
Copier après la connexion

接下来就可以访问scutephp.php这个文件,测试扩展了。


Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Recommandation du didacticiel Vue : 5 dernières sélections de didacticiels vidéo vue.js en 2023 Recommandation du didacticiel Vue : 5 dernières sélections de didacticiels vidéo vue.js en 2023 Sep 20, 2018 pm 02:20 PM

Est-ce que vue.js est facile à apprendre ? La réponse est qu'il est très facile d'apprendre et de s'intégrer à d'autres bibliothèques ou à des projets existants. Alors, comment utiliser vue ? Aujourd'hui, le site Web chinois PHP recommande les 5 derniers didacticiels vidéo gratuits vue.js en 2023 pour que tout le monde puisse les apprendre.

Derniers didacticiels vidéo Layui recommandés en 2023 (collection recommandée) Derniers didacticiels vidéo Layui recommandés en 2023 (collection recommandée) Jul 19, 2021 pm 05:22 PM

Ce qui suit est un didacticiel vidéo du framework d'interface utilisateur frontale - layui. Il n'est pas nécessaire de le télécharger à partir de plates-formes de disques réseau tierces telles que Xunlei et Baidu Cloud. Toutes les vidéos peuvent être visionnées en ligne gratuitement. Les didacticiels commencent du moins profond au plus profond, afin que les personnes possédant les bases du front-end puissent l'apprendre, de l'installation aux explications du cas, ils sont complets et détaillés pour vous aider à maîtriser le framework layui plus rapidement et mieux !

Résumé des FAQ pour une utilisation profonde Résumé des FAQ pour une utilisation profonde Feb 19, 2025 pm 03:45 PM

Deepseekai Tool User Guide et FAQ Deepseek est un puissant outil intelligent AI. FAQ: La différence entre les différentes méthodes d'accès: il n'y a pas de différence de fonction entre la version Web, la version de l'application et les appels API, et l'application n'est qu'un wrapper pour la version Web. Le déploiement local utilise un modèle de distillation, qui est légèrement inférieur à la version complète de Deepseek-R1, mais le modèle 32 bits a théoriquement une capacité de version complète de 90%. Qu'est-ce qu'une taverne? SillyTavern est une interface frontale qui nécessite d'appeler le modèle AI via l'API ou le olllama. Qu'est-ce que la limite de rupture

Dernières recommandations de didacticiels vidéo Swoole 2023 (de l'entrée à l'avancée) Dernières recommandations de didacticiels vidéo Swoole 2023 (de l'entrée à l'avancée) Oct 25, 2019 pm 02:09 PM

Ce qui suit est un didacticiel vidéo du framework de communication asynchrone PHP Swoole. Il n'est pas nécessaire de le télécharger à partir de plates-formes tierces telles que Xunlei et Baidu Cloud. Tous peuvent être visionnés en ligne gratuitement. Les tutoriels vont du plus simple au plus approfondi, et les personnes ayant une connaissance de base de PHP peuvent l'apprendre, de l'installation aux explications du cas, ils sont complets et détaillés pour vous aider à maîtriser le framework Swoole plus rapidement et mieux !

Les dernières recommandations de didacticiels vidéo WordPress en 2023 Les dernières recommandations de didacticiels vidéo WordPress en 2023 Oct 25, 2019 pm 01:12 PM

Ce site Web PHP chinois a intégré des didacticiels vidéo pertinents, des manuels chinois et des articles sélectionnés associés pour tout le monde, le tout gratuitement ! ! ! Grâce aux vidéos que nous partageons, vous pouvez regarder les vidéos du didacticiel gratuitement à tout moment et n'importe où, et il n'est pas nécessaire de les télécharger depuis Thunder ou Baidu Netdisk.

Les dernières recommandations du didacticiel vidéo phpcms en 2023 (à apprendre pour le développement secondaire) Les dernières recommandations du didacticiel vidéo phpcms en 2023 (à apprendre pour le développement secondaire) Oct 25, 2019 pm 03:45 PM

De nombreux webmasters utilisent PHPCMS pour le développement secondaire et la création de sites Web. Le site Web chinois PHP a spécialement lancé un didacticiel vidéo phpcms. Vous pouvez regarder le didacticiel vidéo gratuitement à tout moment et n'importe où sans le télécharger depuis Baidu Netdisk, ce qui est très pratique.

Tutoriels vidéo recommandés de dedeCMS en 2023 Tutoriels vidéo recommandés de dedeCMS en 2023 Oct 25, 2019 pm 01:56 PM

DedeCMS est célèbre pour sa simplicité, sa praticité et son open source. Il s'agit du système de gestion de sites Web open source PHP le plus connu en Chine et du système CMS PHP avec le plus d'utilisateurs. Après des années de développement, la version actuelle est devenue la plus populaire. que ce soit en termes de fonctions ou de facilité d'utilisation, il y a eu un développement et des progrès considérables.

La dernière recommandation de didacticiel vidéo Empire cms en 2023 (collection) La dernière recommandation de didacticiel vidéo Empire cms en 2023 (collection) Oct 25, 2019 pm 02:30 PM

Le site Web chinois PHP a compilé du contenu lié au didacticiel vidéo Empire CMS pour tout le monde. Contient des didacticiels vidéo d'installation d'Imperial CMS, des manuels de développement d'Imperial CMS, des ressources de modèles Imperial CMS et des articles techniques d'Imperial CMS.

See all articles