Inhaltsverzeichnis
第一步、生成代码
第二步、修改配置
第三步、实现功能
第四步、编译扩展
第五步、添加扩展
Heim Backend-Entwicklung PHP-Tutorial 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)
Nach dem Login kopieren

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

这时候,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])
Nach dem Login kopieren

修改为
PHP_ARG_WITH(scutephp, for scutephp support,<br />Make sure that the comment is aligned:<br />[  --with-scutephp             Include scutephp support])
Nach dem Login kopieren

第三步、实现功能

修改源码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 />}
Nach dem Login kopieren

第四步、编译扩展

保存后,开始编译
/usr/local/php/bin/phpize<br />./configure --with-php-config=/usr/local/php/bin/php-config<br />make
Nach dem Login kopieren

第五步、添加扩展

这时候,一切顺利的话,该扩展已经在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/
Nach dem Login kopieren

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


Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Empfehlung für Vue-Tutorials: Die 5 neuesten Video-Tutorials für vue.js im Jahr 2023 Empfehlung für Vue-Tutorials: Die 5 neuesten Video-Tutorials für vue.js im Jahr 2023 Sep 20, 2018 pm 02:20 PM

Ist vue.js leicht zu erlernen? Die Antwort ist, dass es sehr einfach zu erlernen und in andere Bibliotheken oder bestehende Projekte zu integrieren ist. Wie verwendet man Vue? Heute empfiehlt Ihnen die chinesische PHP-Website die neuesten 5 kostenlosen Vue.js-Video-Tutorials im Jahr 2023, damit jeder sie lernen kann.

Empfohlene neueste Laui-Video-Tutorials im Jahr 2023 (empfohlene Sammlung) Empfohlene neueste Laui-Video-Tutorials im Jahr 2023 (empfohlene Sammlung) Jul 19, 2021 pm 05:22 PM

Das Folgende ist ein Video-Tutorial des Front-End-UI-Frameworks – Laui. Es ist nicht erforderlich, es von Cloud-Disk-Plattformen von Drittanbietern wie Xunlei und Baidu Cloud herunterzuladen. Alle Videos können kostenlos online angesehen werden. Die Tutorials beginnen von der Tiefe bis zur Tiefe, und diejenigen mit Front-End-Grundkenntnissen können es lernen, von der Installation bis hin zu Fallerklärungen, sie sind umfassend und detailliert, um Ihnen zu helfen, das Laui-Framework schneller und besser zu beherrschen!

Zusammenfassung der FAQs für die Verwendung von Deepseek Zusammenfassung der FAQs für die Verwendung von Deepseek Feb 19, 2025 pm 03:45 PM

Deepseekai Tool User Guide und FAQ Deepseek ist ein leistungsstarkes KI -Intelligent -Tool. FAQ: Der Unterschied zwischen verschiedenen Zugriffsmethoden: Es gibt keinen Unterschied in der Funktion zwischen Webversion, App -Version und API -Aufrufen, und App ist nur ein Wrapper für die Webversion. Die lokale Bereitstellung verwendet ein Destillationsmodell, das der Vollversion von Deepseek-R1 geringfügig unteren ist, das 32-Bit-Modell theoretisch 90% Vollversionsfunktion. Was ist eine Taverne? SillyTervern ist eine Front-End-Oberfläche, die das KI-Modell über API oder Ollama anruft. Was ist Breaking Limit

2023 neueste Swoole-Video-Tutorial-Empfehlungen (von Einsteiger bis Fortgeschritten) 2023 neueste Swoole-Video-Tutorial-Empfehlungen (von Einsteiger bis Fortgeschritten) Oct 25, 2019 pm 02:09 PM

Das Folgende ist ein Video-Tutorial des PHP-Asynchron-Kommunikations-Frameworks Swoole. Es ist nicht erforderlich, es von Drittanbieter-Plattformen wie Xunlei und Baidu Cloud herunterzuladen. Alle können kostenlos online angesehen werden. Die Tutorials reichen von einfach bis tiefgreifend und können von Personen mit Grundkenntnissen in PHP erlernt werden. Von der Installation bis hin zu Fallerklärungen sind sie umfassend und detailliert, damit Sie das Swoole-Framework schneller und besser beherrschen können!

Die neuesten Empfehlungen für WordPress-Video-Tutorials im Jahr 2023 Die neuesten Empfehlungen für WordPress-Video-Tutorials im Jahr 2023 Oct 25, 2019 pm 01:12 PM

Dieses Mal hat die chinesische PHP-Website relevante Video-Tutorials, chinesische Handbücher und verwandte ausgewählte Artikel für alle integriert, alles kostenlos! ! ! Durch die von uns geteilten Videos können Sie die Tutorial-Videos jederzeit und überall kostenlos ansehen, ohne dass ein Download von Thunder oder Baidu Netdisk erforderlich ist.

Die neuesten Empfehlungen für PHPCMS-Video-Tutorials im Jahr 2023 (muss für die sekundäre Entwicklung gelernt werden) Die neuesten Empfehlungen für PHPCMS-Video-Tutorials im Jahr 2023 (muss für die sekundäre Entwicklung gelernt werden) Oct 25, 2019 pm 03:45 PM

Viele Webmaster verwenden PHPCMS für die sekundäre Entwicklung und Website-Erstellung. Die chinesische PHP-Website hat speziell ein PHPCMS-Video-Tutorial gestartet. Sie können das Video-Tutorial jederzeit und überall kostenlos ansehen, ohne es von Baidu Netdisk herunterladen zu müssen.

Empfohlene Video-Tutorials von dedeCMS im Jahr 2023 Empfohlene Video-Tutorials von dedeCMS im Jahr 2023 Oct 25, 2019 pm 01:56 PM

DedeCMS ist für seine Einfachheit, Praktikabilität und Open Source bekannt. Es ist das bekannteste PHP-Open-Source-Website-Managementsystem und das PHP-CMS-System mit den meisten Benutzern. Nach Jahren der Entwicklung ist die aktuelle Version die beliebteste Eins in Bezug auf Funktionen oder Benutzerfreundlichkeit, es gab erhebliche Entwicklungen und Fortschritte.

Die neueste Empire-CMS-Video-Tutorial-Empfehlung im Jahr 2023 (Sammlung) Die neueste Empire-CMS-Video-Tutorial-Empfehlung im Jahr 2023 (Sammlung) Oct 25, 2019 pm 02:30 PM

Die chinesische PHP-Website hat Inhalte zum Empire CMS-Video-Tutorial für jedermann zusammengestellt. Enthält Imperial CMS-Installationsvideo-Tutorials, Imperial CMS-Entwicklungshandbücher, Imperial CMS-Vorlagenressourcen und einige technische Artikel zu Imperial CMS.

See all articles