PHP扩展开发详细教程
在几种情况下,我们会需要进行PHP扩展开发:
1、PHP本身无法访问的资源或是调用,
2、通过扩展的方式可以实现处于性能和效率的考虑,
3、用C实现会更好
4、处于商业或代码保护考虑,将代码封装起来
5、为了更深入的了解PHP,从这里入门
假设有这么一个扩展,提供一个叫ccvita_string的函数。下面详细介绍怎么样制作这样一个PHP扩展:
第一步、生成代码
PHP为了扩展开发的方便,提供了一个类似代码生成器的工具ext_skel,具体可以参见说明。首先我们创建一个文件scutephp.skel,它的内容为
string scutephp_string(string str)
就是告诉ext_skel这个东西,我们要做的扩展里面有个函数叫scutephp_string。然后执行
cd usr/src/php-5.3.8/ext/<br />./ext_skel --extname=scutephp --proto=scutephp.skel<br />cd scutephp/
这时候,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])
修改为
PHP_ARG_WITH(scutephp, for scutephp support,<br />Make sure that the comment is aligned:<br />[ --with-scutephp Include scutephp support])
第三步、实现功能
修改源码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 />}
第四步、编译扩展
保存后,开始编译/usr/local/php/bin/phpize<br />./configure --with-php-config=/usr/local/php/bin/php-config<br />make
第五步、添加扩展
这时候,一切顺利的话,该扩展已经在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/
接下来就可以访问scutephp.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

AI Hentai Generator
Générez AI Hentai gratuitement.

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)

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.

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 !

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

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 !

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.

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.

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.

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.
