Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Erweiterungsentwicklung – detaillierte Erklärung zum Einrichten der Windows-Entwicklungsumgebung

PHP-Erweiterungsentwicklung – detaillierte Erklärung zum Einrichten der Windows-Entwicklungsumgebung

黄舟
黄舟Original
2017-03-22 10:00:222202Durchsuche

Kompilieren Sie PHP

1. Entpacken Sie php-sdk in das Verzeichnis E:tangphp_stdiophp-sdk
2. Legen Sie die vs2013-Compiler-Umgebungsvariable fest: Öffnen Sie das cmd-Fenster und führen Sie vcvarsall.bat aus (der Pfad lautet basierend auf der vs-Installation Der Pfad wird bestimmt)
3. Erstellen Sie das Entwicklungsverzeichnis:
Öffnen Sie das native Eingabeaufforderungstool von vs2013. Wenn Sie für 64-Bit kompilieren, öffnen Sie bitte das Eingabeaufforderungstool von vs2013 x64. Wechseln Sie in das Verzeichnis E:tangphp_stdiophp-sdk und führen Sie Folgendes aus:
binphpsdk_setvars.bat
Nach dem Ausführen von binphpsdk_buildtree.bat php55dev-x64
befindet sich unter dem Verzeichnis E:tangphp_stdiophp-sdk ein weiteres Verzeichnis php55dev-x64.
4. Extrahieren Sie deps in das folgende Verzeichnis:
E:tangphp_stdiophp-sdkphp55dev-x64vc9x64
Es stellt sich heraus, dass alle Unterverzeichnisse unter dem Verzeichnis deps in diesem Verzeichnis leere Verzeichnisse sind. Nach der Dekomprimierung sollten viele notwendige Module/Erweiterungsbibliotheksdateien hineinkopiert werden.
5. Kopieren Sie als Nächstes das PHP-5.5.38-Quellcodeverzeichnis in das folgende Verzeichnis:
E:tangphp_stdiophp-sdkphp55dev-x64vc9x64
6. Geben Sie das PHP-Quellcodeverzeichnis
ein cd E:tangphp_stdiophp-sdkphp55dev-x64vc9x64php-5.5.38
Führen Sie
aus buildconf
Dann können Sie zunächst versuchen, PHP zu kompilieren. Zu Beginn ist es generell notwendig, möglichst wenige Module zu kompilieren, damit der Kern normal kompiliert werden kann:
configure –disable-all –enable-cli
7. Kompilieren Sie PHP und führen Sie
aus nmake
Zu diesem Zeitpunkt wurden der Kernteil von PHP und ein Befehlszeilentool kompiliert.

PHP-Erweiterung test_extension entwickeln

PHP扩展的基础结构相同,为方便开发PHP提供了ext_skel和ext_skel_win32.php分别是linux、windows下的扩展框架搭建工具。
此次讲的是Windows中搭建PHP扩展开发环境,所以使用的是ext_skel_win32.php。用它生成的扩展框架,可以直接用VS打开进行书写代码和编译。其步骤如下:

1. Wechseln Sie in das Verzeichnis ext:
cd E:tangphp_stdiophp-sdkphp55dev-x64vc9x64php-5.5.38ext
2. Der Inhalt der Datei ist die Funktion , die von der Erweiterung exportiert werden soll :

int a(int x, int y)string b(string str, int n)

3. Führen Sie den Befehl aus, um das Erweiterungsframework zu generieren
php.exe ext_skel_win32.php –extname=test_extension –proto=test_extension.def
Nach Erfolg wird das Verzeichnis test_extension generiert.
4. Geben Sie das Verzeichnis test_extension ein und öffnen Sie mit vs2013 die Projektdatei test_extension.dsp. Wenn Sie eine 64-Bit-Erweiterung kompilieren, ändern Sie bitte das Attribut in x64-Plattform. Generieren Sie nach der Kompilierung php_test_extension.dll
5. Platzieren Sie php_test_extension.dll im ext-Verzeichnis von PHP und fügen Sie extension=php_test_extension.dll zur php.ini-Datei hinzu
6 🎜> Führen Sie Folgendes aus: php.exe test_extension.php (test_extnesion.php befindet sich im generierten Erweiterungs-Framework-Verzeichnis)
Wenn der Erweiterungsaufruf erfolgreich ist, erscheint:

Functions available in the test extension:
confirm_test_extension_compiledab

Congratulations! You have successfully modified ext/test_extension/config.m4. Mo
dule test_extension is now compiled into PHP.
Auf diese Weise wird eine einfache PHP-Erweiterung entwickelt. Bitte achten Sie auf die folgenden Punkte:

Achten Sie auf die Dateinummer. 32-Bit oder 64-Bit, die mit PHP konsistent sein müssen. Die Version entspricht
2. Beachten Sie, dass die Erweiterung dieselbe Version des Compilers wie PHP

verwenden muss

Das obige ist der detaillierte Inhalt vonPHP-Erweiterungsentwicklung – detaillierte Erklärung zum Einrichten der Windows-Entwicklungsumgebung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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