Heim >Backend-Entwicklung >PHP-Tutorial >Installation der unter Linux entwickelten PHP-Erweiterung
Eindrücke aus dem Vorwort
Die Worte eines Freundes aus Maimai machen mir die Vorteile eines Computerstudiums immer bewusster. Je länger ich programmiere, desto mehr spüre ich die Bedeutung Es ist wie ein Berg, der nicht umgangen werden kann, mit Windungen und Wendungen, aber Sie werden diesem Berg immer begegnen. Nur wenn Sie sich den Schwierigkeiten stellen und sie mit aller Kraft erklimmen Fahren Sie auf dem Weg fort, auf dem Sie sich befinden
Ich stimme voll und ganz zu, je länger Sie programmieren, desto mehr müssen Sie die zugrunde liegenden Ebenen studieren, um sich zu verbessern. Das nächste Ziel besteht also darin, den PHP-Quellcode systematisch zu studieren. Zufällig lernte ich für die Aufnahmeprüfung für die Erwachsenenbildung auf C und der Lehrer war ein NB-Akademiker. Der Stapel Bücher, die angeblich C gelesen haben, liegt höher als der Schreibtisch.
Zuerst müssen Sie den PHP-Quellcode herunterladen, der von git/svn oder der offiziellen Website heruntergeladen werden kann. Ich habe ihn von der offiziellen Website heruntergeladen, da es im Internet heißt, dass einige Quellcodes unter git nicht über das PHPize-Tool verfügen (Ich habe es nicht ausprobiert) phpize wird verwendet, um PHP-Erweiterungen modular zu erweitern.
Im ext-Verzeichnis des PHP-Quellcodes befindet sich eine ext_skel-Datei, mit der Sie ganz einfach ein PHP-Erweiterungsframework erstellen können
eingeben
./ext_skel –extname =myext
Verzeichnis myext
wird erstellt
Basisdateien erstellen: config.m4 config.w32 .gitignore myext.c php_myext.h CREDITS EXPERIMENTAL tests/001.phpt myext.php [fertig].
zufrieden sind
Schritt 6 bestätigt, dass Ihr Modul in PHP kompiliert ist. Beginnen Sie dann mit dem Schreiben von
Code und wiederholen Sie die letzten beiden Schritte so oft wie nötig.`
Dann müssen Sie config.m4
ändern
Entfernen Sie die DNL vor dem folgenden Code:
<code>dnl PHP_ARG_ENABLE(myext, whether <span>to</span> enable myext support, dnl [ <span>--enable-myext Enable myext support])</span></code>Speichern und beenden!
Kompilieren starten
Im myext-Verzeichnis. Führen Sie den folgenden Code aus:
<code>phpize <span>.</span>/configure <span>--</span><span>with</span><span>-php</span><span>-config</span><span>=</span>/usr/<span>local</span>/php/bin/php<span>-config</span> make make test make install</code>Nach der Make-Installation werden Sie aufgefordert, das Erweiterungsverzeichnis /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/ zu installieren. . Sie können es nach der Eingabe von „Gehe zu myext.so“ anzeigen und dann erweiterte Informationen in php.ini hinzufügen
Erweiterung = myext.so
Verwenden Sie den Befehl php -m, um zu sehen, ob die Erweiterung erfolgreich installiert wurde.
Starten Sie fpm neu und Sie können die installierte Erweiterung in phpinfo sehen
Beim Testen werden Sie gewarnt, dass einige Funktionen in php.ini deaktiviert sind. Suchen Sie die Funktion „disable_function“ von php.ini und entfernen Sie die Warnfunktion.
Darüber hinaus erkläre ich die Installationsschritte der von GNUs AUTOCONF und AUTOMAKE unter Linux generierten Programme
Dies wird verwendet, um die Zieleigenschaften Ihrer Installationsplattform zu erkennen. Es erkennt beispielsweise, ob Sie CC oder GCC haben. Es ist kein CC oder GCC erforderlich. Es handelt sich um ein Shell-Skript
Dieser Schritt wird im Allgemeinen verwendet, um Makefile zu generieren, um den nächsten Schritt der Kompilierung vorzubereiten. Sie können die Installation steuern, indem Sie nach der Konfiguration Parameter hinzufügen, wie zum Beispiel:
./configure –prefix=/usr
Das Obige bedeutet, die Software unter /usr
zu installieren
Die ausführbare Datei wird in /usr/bin (anstelle der Standardeinstellung /usr/local/bin)
installiert
Ressourcendateien werden in /usr/share installiert (anstelle des standardmäßigen /usr/local/share)
Gleichzeitig können Sie die Konfigurationsdateien einiger Software angeben, indem Sie –sys-c
angeben
Es gibt auch Parameter wie –with, –enable, –without, –disable usw., um die Kompilierung zu steuern. Detaillierte Anweisungen und Hilfe können Sie über ./configure –help
anzeigen
mache
Dieser Schritt wird zur Kompilierung verwendet. Er liest Anweisungen aus dem Makefile und kompiliert dann
Dieser Schritt ist die Kompilierung. Die meisten Quellcodepakete werden durch diesen Schritt kompiliert
Natürlich muss einige in Perl oder Python geschriebene Software durch Aufrufen von Perl oder Python
kompiliert werden
Wenn während des Erstellungsprozesses ein Fehler auftritt, müssen Sie den Fehlercode notieren (beachten Sie nicht nur die letzte Zeile) und können dann einen Fehlerbericht an den Entwickler (normalerweise gibt es in INSTALL eine Übermittlungsadresse) oder Ihr System senden Da es weniger Abhängigkeiten zu Bibliotheken usw. gibt, müssen Sie die Fehlercodes sorgfältig studieren
Test durchführen / prüfen
Wie der Name schon sagt, dient dieser Schritt dazu, den vorherigen Schritt von make zu überprüfen. Es muss sichergestellt werden, dass bei make keine Fehler vorliegen. Das heißt, der Test und die Prüfung dieses Schritts müssen alle in Ordnung sein und der Fehler ist 0
sudo make install
Dieser Schritt dient der Installation. Er liest auch Anweisungen aus dem Makefile und installiert es am angegebenen Speicherort
Um diesen Befehl zu installieren, benötigen Sie im Allgemeinen Root-Rechte (da Sie Dateien auf das System schreiben müssen), daher sind sudo
Das Obige stellt die Installation von PHP-Erweiterungen vor, die unter Linux entwickelt wurden, und hoffe, dass es für Freunde, die sich für PHP-Tutorials interessieren, hilfreich sein wird.