Heim >Backend-Entwicklung >PHP-Tutorial >So kompilieren Sie den Quellcode von PHP und XDebug unter Windows
Es gibt viele Einführungen in die PHP-Quellcode-Kompilierung im Internet, aber es gibt fast keine Einführungen in die xdebug-Quellcode-Kompilierung. Ich werde darüber basierend auf meiner tatsächlichen Operation sprechen, die auch die Kompilierung von Apache-Quellcode umfasst.
1. PHP-Kompilierung
Wir verwenden vs2008 als Kompilierungstool. Andere benötigen außerdem ein PHP-Kompilierungskit, das von der offiziellen PHP-Website http://windows.php.net/ heruntergeladen werden kann. lädt /php-sdk/ herunter, laden Sie Folgendes herunter:
php-sdk-binary-tools-20110915.zip
Angenommen, es wird im Verzeichnis e:php-sdk veröffentlicht
Rufen Sie den Befehlszeilenmodus über das Startmenü auf:
Konfigurieren Sie zunächst die Umgebung von vs2008, geben Sie im Benennungsmodus den Installationspfad von 2008 ein, vorausgesetzt, es handelt sich um c:program filesmicorosft visual studio v9.0 und geben Sie dann ein erneut Das Unterverzeichnis vc unter diesem Verzeichnis:
cd vc
c:program filesmicorosft visual studio v9.0vc Führen Sie zu diesem Zeitpunkt vcvarsall.bat
c:program filesmicorosft visual aus studio v9 .0vcvcvarsall.bat
Auf diese Weise wird die Ausführungsumgebung 2008 eingerichtet.
Der nächste Schritt besteht darin, das PHP-SDK-Verzeichnis einzugeben,
e:php-sdk
auszuführen
binphpsdk_setvars.bat
Als nächstes ausführen:
binphpsdk_buildtree.bat phpdev
Dadurch wird ein Unterverzeichnis phpdev im aktuellen Verzeichnis erstellt. Wir legen den heruntergeladenen PHP-Quellcode in dessen Unterverzeichnis vc9/x86 ab. Unten nehmen wir 5.4.73 Als Beispiel sieht das Verzeichnis so aus:
e:php-sdkphpdevvc9/x86/php-5.4.37
Geben Sie das Verzeichnis php-5.4.37 ein und führen Sie
buildconf und configure.bat- und configure.js-Dateien werden generiert Erneut ausführen: configure --disable-all - -enable-cli Zu diesem Zeitpunkt wird eine Makefile-Datei generiert, und wir können diese Datei zum Kompilieren verwenden Führen Sie nmake einfach direkt aus. Zu diesem Zeitpunkt wird nur die ausführbare PHP-Befehlszeilendatei generiert. Wenn Sie ein Web einrichten möchten, benötigen Sie eine ausführbare CGI-PHP-Datei. Sie können nach der Konfiguration wie folgt hinzufügen :configure --disable-all --enable-cli --enable-cgiManchmal, wenn wir ein Modul generieren müssen, das von Apache verwendet werden kann, müssen wir auch Apache hinzufügen Parameter (hier Apache 2.2 als Beispiel): configure --disable-all --enable-cli --enable-cgi --enable-apache2-2handlerAber bitte beachten Sie, dass dies der Fall ist Wenn Sie das Apache SDK (h-Datei und lib-Datei) benötigen, hat der Beamte das entsprechende SDK-Paket für 2008 bereitgestellt, das in der DEPS-Datei enthalten ist, und die Datei DEPS-5.4-VC9-X86 kann von der offiziellen Website heruntergeladen werden . Nach dem Herunterladen geben Sie es einfach im Deps-Verzeichnis frei. Hinweis: Diese Methode eignet sich auch für vc6, um Version 5.3 von PHP zu kompilieren. Zu diesem Zeitpunkt müssen Sie jedoch zuerst 2003sdk installieren. Wenn ein Fehler auftritt, müssen Sie die Datei (ext/standard/) manuell ändern. broscap.c-Datei hat mehrere Fehler); 2. xdebug-KompilierungVorbereitende Vorbereitung: Angenommen, 2003sdk ist installiert, rufen Sie nun die Kompilierungsumgebung in XP über das Menü auf Verwenden Sie die obige Methode, um die vs2008-Umgebung hinzuzufügen. Um xdebug zu kompilieren, müssen Sie das PHP-SDK verwenden. Dieses kann aus dem Quellcode von PHP generiert werden: nmake install Standardmäßig wird auf dem Laufwerk C ein PHP-Verzeichnis generiert, das ein SDK-Unterverzeichnis enthält. In diesem Verzeichnis sehen wir eine phpize.bat-Datei. Geben Sie den xdebug-Quellcode im vorherigen x86-Verzeichnis frei, vorausgesetzt, es handelt sich um Version 2.2.7, sodass das Verzeichnis xdebug-2.2.7 lautet.Geben Sie dieses Verzeichnis ein, führen Sie phpize aus und bringen Sie es normalerweise mit Führen Sie den vollständigen Pfad aus: c:phpsdkphpizeDadurch werden 3 Dokumente generiert: configure.bat, configure.js,conf.nice.batErneut ausführen
configure --with-xdebugMakefile generierenFühren Sie abschließend nmake aus, sodass es sich im befindet Verzeichnis „release_ts“ Nach dem Generieren von php_xdebug.dll Hinweis: Die Version 2.2.7 von xdebug kann unter PHP 5.4.37 erfolgreich kompiliert werden, jedoch nicht unter 5.3.x. Darüber hinaus kann xdebug von 2.1.x unter PHP 5.4.37 nicht normal kompiliert werden. 3.Apache-Kompilierungvc6, 2003sdk kann Version 2.2.22 von Apache kompilieren, aber die Voraussetzung ist der Download von: apr-1.5.1-win32- src. zip,arp-iconv-1.2.1-win32-src-r2.zip, apr-util-1.5.4-win32-src.zipExtrahieren Sie sie und legen Sie sie im Quellcode-Srclib-Verzeichnis ab , Falls vorhanden, ersetzen Sie sie. Geben Sie die XP-32-Bit-Umgebung über den Menüpunkt 2003 SDK ein. Geben Sie das Quellcodeverzeichnis ein und führen Sie Folgendes aus: nmake /f makefile.win
Dann führen Sie Folgendes aus: nmake /f makefilw.win INSTDIR=c:apacheZu diesem Zeitpunkt erhalten Sie eine Fehlermeldung, die ausführbare Datei awk fehlt, aber Sie finden das Es gibt etwas im c:apache-Verzeichnis Kopieren Sie den Include-Pfad und den Lib-Pfad in den entsprechenden Pfad von Deps in PHP, depsincludeapache2_2 (enthält die h-Datei) depslibapache2_2 (enthält die lib-Datei)Zu diesem Zeitpunkt führen Sie Folgendes aus: configure --disable-all --enable-apache2_2handlernmake to Generieren Sie das Apache-Modul.
Das Obige stellt vor, wie man den Quellcode von PHP und xdebug unter Windows kompiliert, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.