Bringen Sie Ihnen Schritt für Schritt bei, wie Sie eine PHP-Erweiterung erstellen (grundlegende Schritte)

不言
Freigeben: 2023-04-03 22:30:02
Original
1820 Leute haben es durchsucht

In diesem Artikel geht es darum, Ihnen Schritt für Schritt beizubringen, wie man eine PHP-Erweiterung erstellt (grundlegende Schritte). Ich hoffe, dass er Ihnen als Referenz dienen wird.

Was sind die grundlegenden Schritte zum Erstellen einer Erweiterung? Im Beispiel werden wir die folgenden Funktionen implementieren:

<?php
echo say();
?>
Nach dem Login kopieren

Inhalt ausgeben:

$ php ./test.php
$ hello word
Nach dem Login kopieren

Implementieren Sie eine say-Methode in der Erweiterung. Nach dem Aufruf der say-Methode wird das Hallo-Wort ausgegeben.

Schritt eins: Code generieren

PHP stellt uns das Tool ext_skel zur Verfügung, um Basiscode zu generieren. Dieses Tool befindet sich im Verzeichnis ./ext des PHP-Quellcodes.

$ cd php_src/ext/
$ ./ext_skel --extname=say
Nach dem Login kopieren

Der Wert des Parameters extname ist der Erweiterungsname. Nach Ausführung des Befehls ext_skel wird im aktuellen Verzeichnis ein Verzeichnis mit demselben Erweiterungsnamen generiert.

Der zweite Schritt besteht darin, die Konfigurationsdatei config.m4 zu ändern

Die Funktion von config.m4 besteht darin, mit dem PHPize-Tool zusammenzuarbeiten, um die Konfigurationsdatei zu generieren. Die Konfigurationsdatei wird zur Umgebungserkennung verwendet. Überprüfen Sie, ob die für die Kompilierung und Ausführung der Erweiterung erforderliche Umgebung erfüllt ist. Jetzt beginnen wir mit der Änderung der Datei config.m4.

$ cd ./say
$ vim ./config.m4
Nach dem Login kopieren

Nachdem Sie die Datei config.m4 geöffnet haben, finden Sie diesen Absatz.

dnl Wenn Ihre Erweiterung auf etwas Externes verweist, verwenden Sie Folgendes:

dnl PHP_ARG_WITH(z. B. für Support,
dnl Stellen Sie sicher, dass der Kommentar ausgerichtet ist:
dnl [ - -with-say                Say support einschließen])

dnl Andernfalls verwenden Sie enable:

dnl PHP_ARG_ENABLE(say, ob say support aktiviert werden soll,
dnl Stellen Sie sicher, dass der Kommentar ausgerichtet ist:
dnl [ --enable-say           Say support aktivieren])

wobei dnl das Kommentarsymbol ist. Der obige Code besagt, dass Sie die Kommentare zum PHP_ARG_WITH-bezogenen Code entfernen müssen, wenn die von Ihnen geschriebene Erweiterung von anderen Erweiterungen oder Bibliotheksbibliotheken abhängt. Andernfalls entkommentieren Sie den PHP_ARG_ENABLE-bezogenen Codeabschnitt. Die von uns geschriebenen Erweiterungen müssen nicht auf andere Erweiterungen und Bibliotheken angewiesen sein. Daher entfernen wir den Kommentar vor PHP_ARG_ENABLE. Der Code nach dem Entfernen der Kommentare lautet wie folgt:

dnl Wenn Ihre Erweiterung auf etwas Externes verweist, verwenden Sie mit:

dnl PHP_ARG_WITH(z. B. für Support,
dnl Stellen Sie sicher, dass die Kommentar ist ausgerichtet; Kommentar ist ausgerichtet:
[ --enable-say Say-Unterstützung aktivieren])

Der dritte Schritt besteht darin, den Code

zu implementieren, um die Datei say.c zu ändern. Implementieren Sie die say-Methode.
Suchen Sie PHP_FUNCTION(confirm_say_compiled) und fügen Sie den folgenden Code darüber ein:

PHP_FUNCTION(say)
{
    zend_string *strg;
    strg = strpprintf(0, "hello word");
    RETURN_STR(strg);
}
Nach dem Login kopieren

Suchen Sie PHP_FE(confirm_say_compiled) und fügen Sie den folgenden Code darüber ein:

PHP_FE(say, NULL)
Nach dem Login kopieren

Der geänderte Code lautet wie folgt:

 const zend_function_entry say_functions[] = {
 PHP_FE(say, NULL)       /* For testing, remove later. */
 PHP_FE(confirm_say_compiled,    NULL)       /* For testing, remove later. */
 PHP_FE_END  /* Must be the last line in say_functions[] */
 };
/ }}} /
Nach dem Login kopieren

Der vierte Schritt: Kompilieren und Installieren

Die Schritte zum Kompilieren der Erweiterung lauten wie folgt:

$ phpize
$ ./configure
$ make && make install
Nach dem Login kopieren

Ändern Sie die Datei php.ini und fügen Sie den folgenden Code hinzu:

[say]
extension = say.so
Nach dem Login kopieren

Dann führen Sie den Befehl php -m aus. Im Ausgabeinhalt sehen Sie das Wort say

Der fünfte Schritt besteht darin, den Test

aufzurufen um zu sehen, ob der Ausgabeinhalt konform ist.

Verwandte Empfehlungen:

[Übertragen] Erstellen Sie eine Klasse, indem Sie Ihre eigene PHP-Erweiterung schreiben – orlion

Erstellen Sie eine PHP-Erweiterung von Grund auf

Das obige ist der detaillierte Inhalt vonBringen Sie Ihnen Schritt für Schritt bei, wie Sie eine PHP-Erweiterung erstellen (grundlegende Schritte). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage