Heim  >  Artikel  >  Backend-Entwicklung  >  Kompilieren Sie PHP7.2 unter Windows und erweitern Sie Judy

Kompilieren Sie PHP7.2 unter Windows und erweitern Sie Judy

不言
不言Original
2018-04-08 09:21:142655Durchsuche

Der in diesem Artikel geteilte Inhalt besteht darin, PHP7.2 unter Windows zu kompilieren und Judy zu erweitern. Jetzt kann ich ihn mit allen teilen, die Hilfe benötigen.

Ich habe vor, PHP zu aktualisieren bis 7.2. Ich verwende PHP7.2, aber es gibt keine offizielle kompilierte Version von Judy, einer Erweiterung, die ich oft verwende... also habe ich vor, sie selbst zu kompilieren.

Referenzartikel: http://blog.51cto .com/lancelot/2054953 Kompilieren von PHP7.2 unter Windows, um Memcache zu erweitern

1. Erstellen der Kompilierungsumgebung

(1) Es gibt mehrere wichtige Unterschiede in Die Kompilierung von PHP7.2 (Windows-Umgebung).

1.php7.2 wird mit vc15 (vs2017) kompiliert.

Der PHP-SDK-DSP von 2.php7.2 steht nicht mehr zum Download zur Verfügung auf der vorherigen Seite (die Adresse wurde geändert)

3. Der Aufbau der Kompilierungsumgebung ist einfacher.


(2) Aufbau der spezifischen Umgebung

1. Installieren Sie den vc15-Compiler


Da wir nur den Compiler benötigen, müssen wir vs2017 nicht installieren Installieren Sie auch die kostenlose Version von vs2017 direkt Suchen Sie unten nach „

Visual Studio 2017 Build Tools

“ Installieren Sie es einfach (beachten Sie bei der Installation, dass Sie nur die relevanten Tools für die VC-Kompilierung überprüfen müssen)

2 . Laden Sie php-sdk herunter und entpacken Sie es https://github.com/ Microsoft/php-sdk-binary-tools

Extrahieren Sie es nach d:php_sdk (vorausgesetzt, wir werden es tun). Verwenden Sie d:php_sdk als Kompilierungsverzeichnis)

Zu diesem Zeitpunkt sollte

3 sein. x86.bat in d:php_sdk

Halten Sie die Umschalttaste gedrückt und klicken Sie mit der rechten Maustaste auf „Hier“ im php_sdk-Verzeichnis. Öffnen Sie das Befehlszeilenfenster „
Führen Sie „phpsdk-vc15-x86.bat“ aus " im Befehlszeilenfenster

Hinweis: Wenn Sie die 64-Bit-Version kompilieren möchten, führen Sie x64 aus.

Ergebnis Wie unten gezeigt (das phpsdk-Verzeichnis ist anders)

4. Führen Sie php

sdk_buildtree

phpdev

Zu diesem Zeitpunkt sollte ein phpdev-Verzeichnis vorhanden sein unter d:php_sdk

5. Laden Sie den PHP-Quellcode herunter und extrahieren Sie ihn nach d:php_sdkphpdevvc15x86php-src

Erstellen Sie das PHP-SRC-Verzeichnis

Laden Sie den PHP-Quellcode herunter und extrahieren Sie ihn es in das php-src-Verzeichnis

Zu diesem Zeitpunkt d:php_sdkphp devvc15x86php-src-Verzeichnis sollte wie folgt sein (die Verzeichnisdateien können unterschiedlich sein, aber dies ist das Stammverzeichnis des Quellcodes)


6. Geben Sie php- ein. src-Verzeichnis, führen Sie die

Befehlszeile „cd d:php_sdkphpdevvc15x86php-src“ aus, um das php-src-Verzeichnis

Befehlszeile aufzurufen „phpsdk_deps --update --branch master“ PHP lädt automatisch die erforderlichen Abhängigkeitspakete herunter (zuvor mussten Sie die PHP-DSP-Datei manuell herunterladen)

Warten Sie, bis der Download abgeschlossen ist (wahrscheinlich wie unten gezeigt)

Processing package zlib-1.2.11-vc15-x64.zip
Processing package libsodium-1.0.15-vc15-x64.zip
Updates performed successfully.
Old dependencies backed up into 'D:\php_sdk\phpdev\vc15\x86\deps.201712260650'.

D:\php_sdk\phpdev\vc15\x86\php-src
$

7. Führen Sie „buildconf“ aus

Befehlszeilenausführung „buildconf

Bei Aufforderung „Keine Dateierweiterung“ .js“-Skript-Engine

Baidu „Keine Dateierweiterung „.js“-Skript-Engine“

Folgen Sie diesem https://blog .csdn.net/ctthuangcheng/article /details/16951361

buildconf erneut ausführen

Die Ergebnisse sind wie folgt

$ buildconf
Rebuilding configure.js
Now run 'configure --help'

D:\php_sdk\phpdev\vc15\x86\php-src
$

8. Kompilieren Sie PHP

configure --disable-all --enable-cli --enable-zlib --enable-hash --enable-session --without-gd --with-bz2  --enable-fd-setsize=2048 --enable-sanitizer

Führen Sie dann „nmake“ aus, um die Kompilierung zu starten

Nachdem Sie einige Minuten (oder 10 Minuten) gewartet haben ), sollten Sie Release_TS (oder Release_NTS) im php-src-Verzeichnis finden können PHP-Datei wurde erfolgreich kompiliert

Führen Sie die kompilierte Datei „php.exe -v“ aus, um zu überprüfen, ob sie normal ist. Führen Sie

aus 🎜> 2. Kompilieren Sie die Judy-Erweiterung

Die erfolgreiche Kompilierung des oben genannten PHP bedeutet, dass die PHP-Kompilierungsumgebung abgeschlossen ist. Beginnen Sie nun mit der Kompilierung der Judy-Erweiterung

1.下载judy源码

http://pecl.php.net/package/judy  这里是php-judy 官网 但是这个源码好久没有更新了 最高只支持php5.6

https://github.com/esminis/php_pecl_judy  这个是github 上面 有用户升级过的php-judy 测试支持php7.2

根据 php_pecl_judy 的说明按如下步骤编译

2.编译judy.lib

到https://sourceforge.net/projects/judy/ 下载 源码 

解压到任意目录 

然后 在 judy-1.0.5\src\ 中右键 shift 点击 "在此处打开命令行窗口"  

运行 "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvars32.bat" 注意路径可能不一样

然后运行 "build"

然后会编译出一个 judy.lib

3.拷贝judy.lib文件

一.重命名 judy.lib 文件为 "libJudy.lib" 复制到 D:\php_sdk\phpdev\vc15\x86\deps\lib\ 目录下

注释:也有可能是  D:\php_sdk\phpdev\vc15\x86\deps.xxxxxxx\lib\ 文件(看看哪个lib下面有 文件 就拷贝到哪个目录)

二.复制 judy.h 到deps\include 下面(同上 目录可能 为deps.xxxx )

4.复制 phpjudy(https://github.com/esminis/php_pecl_judy)源码到 php-src\ext\judy\

在 ext\judy\ 下面应该有文件


5.在刚刚编译php的cmd窗口执行 

configure --disable-all --enable-cli --enable-zlib --enable-hash --enable-session --without-gd --with-bz2 --with-judy=shared --enable-fd-setsize=2048 --enable-sanitizer


(如果关闭了 需要重新 执行 phpsdk-vc15-x86.bat 然后进入 php-src目录 执行 "build")

然后执行 nmake 然后就可以在 Release_TS 目录看见 php-judy.dll了(编译成功)

相关推荐:

PHP编译安装过程以及各编译参数配置详解

PHP7.1安装yaf扩展的方法


Das obige ist der detaillierte Inhalt vonKompilieren Sie PHP7.2 unter Windows und erweitern Sie Judy. 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