Heim > Artikel > Backend-Entwicklung > Entwicklung der Windows WAMP PHP-Erweiterung
1. Entwicklungsvorbereitung
Installieren Sie WAMP. Die verwendete Version ist WampServer Version 2.5, davon ist die PHP-Version 5.5.12.
WAMP-Installationsverzeichnis: D:wamp
Apache-Verzeichnis: D:wampbinapache
PHP-Verzeichnis: D:wampbinphp
Laden Sie das PHP-5.5.12-Quellcodepaket herunter und entpacken Sie es in ein beliebiges Verzeichnis. Beispiel: E:php-5.5.12
2. Fragen Sie die kompilierungsbezogenen Informationen der PHP-Version über phpinfo() ab und prüfen Sie hauptsächlich:
CompilerMSVC11 (Visual C++ 2012)
Architektur x86
Zend Extension BuildAPI220121212,TS,VC11
PHP Extension BuildAPI20121212,TS,VC11
Wie Sie sehen können Aus den obigen Informationen geht hervor, dass PHP in WampServer 2.5 auf x86 (Win32) über MSVC11 (VS2012) kompiliert wird und das TS-Attribut (Thread Safe) festgelegt ist.
Daher müssen Sie beim Kompilieren von Erweiterungs-Plug-Ins dieselbe Kompilierungsumgebung und dieselben TS-Einstellungen verwenden (der Standardwert ist TS)
3. Generieren Sie die Datei config.w32.h, die beim Kompilieren von Plug-Ins erforderlich ist
Öffnen Sie die „VS2012 Developer-Eingabeaufforderung“ und geben Sie das Verzeichnis E:php-5.5.12 ein.
Führen Sie den Befehl buildconf.bat aus, der die Datei configure.js im aktuellen Verzeichnis generiert Generieren Sie die Datei E:php-5.5.12mainconfig .w32.h.
Wenn während der Ausführung Bison-bezogene Fehler auftreten, bedeutet dies, dass Sie Bison nicht installiert haben. Sie können die Datei configure.js öffnen, die folgenden drei Zeilen kommentieren und dann den Befehl configure erneut ausführen.
if (!PATH_PROG('bison')) {
ERROR('bison ist erforderlich') }
Warum kann das getan werden, weil wir es nicht brauchen? Zum Kompilieren von PHP muss nur die Datei config.w32.h generiert werden, um das Erweiterungs-Plug-in zu kompilieren.
4. Vorbereitung der Plug-in-Kompilierungsdatei
Geben Sie das Verzeichnis E:php-5.5.12ext ein, kopieren Sie das Verzeichnis E:php-5.5.12extskeleton und benennen Sie es in den Namen des Plug-ins um, das Sie entwickeln müssen , wie zum Beispiel my_plugin;
Ändern Sie php_skeleton .h, Skeleton.c und Skeleton.dsp in php_my_plugin.h, my_plugin.c und my_plugin.dsp;
Öffnen Sie die oben genannten drei Dateien und ersetzen Sie extname in der Datei mit my_plugin und EXTNAME mit MY_PLUGIN (Stellen Sie sicher, dass die Groß-/Kleinschreibung konsistent ist);
Kopieren Sie D:wampbinphpphp5.5.12devphp5ts.lib in das Verzeichnis my_plugin.
5. Plug-in kompilieren und installieren
Öffnen Sie mit VS2012 die Datei my_plugin.dsp, wählen Sie Release_TS (Release-Version generieren) und konfigurieren Sie die Kompilierung in C-Code (Lösungseigenschaften – Konfigurationseigenschaften – C/C++ – Erweitert). -Kompilieren zu- In C-Code kompilieren (/TC));
Kompilieren Sie die Lösung und generieren Sie die Datei php_my_plugin.dll, die dem Plug-in entspricht (im Verzeichnis E:php-5.5.12Release_TS); Kopieren Sie die kompilierte DLL-Datei in das Wamp-PHP-Erweiterungsverzeichnis (D:wampbinphpphp5.5.12ext);
Bearbeiten Sie die Datei D:wampbinapacheapache2.4.9binphp.ini, suchen Sie nach dem Schlüsselwort „extension=" und fügen Sie „extension=php_my_plugin.dll" hinzu " nach dem ursprünglichen PHP-Plugin;
Besonderer Hinweis: Die bearbeitete php.ini ist nicht D:wampbinphpphp5.5.12php.ini, denn wenn Wamp PHP initialisiert, ist der Leseort D:wampbinapacheapache2.4.9binphp.ini Datei.
Starten Sie den Apache-Server neu.
6. Testen Sie das Plug-in
Wenn das Plug-in erfolgreich geladen wurde, starten Sie den Apache-Server neu und greifen Sie auf phpinfo() zu, um das neu hinzugefügte my_plugin-Plug-in anzuzeigen.
Generieren Sie die Datei my_plugin_test.php und legen Sie sie im Verzeichnis D:wampwww ab. Der Dateiinhalt lautet wie folgt:
echo bestätigt_my_plugin_compiled("my_plugin");
?>
Verwenden Sie einen Browser. Greifen Sie auf die neu erstellte Datei my_plugin_test.php zu. Die folgende Seite wird angezeigt, die anzeigt, dass das Plug-in normal ausgeführt wird:
Herzlichen Glückwunsch! Sie haben das Modul ext/my_plugin/config.m4 erfolgreich geändert my_plugin ist jetzt in PHP kompiliert.
Urheberrechtserklärung: Dieser Artikel ist ein Originalartikel des Bloggers und darf nicht ohne die Erlaubnis des Bloggers reproduziert werden.
Das Obige stellt die Entwicklung der Windows-WAMP-PHP-Erweiterung vor, einschließlich ihrer Aspekte. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.