Heim > Backend-Entwicklung > PHP7 > Hauptteil

Erklären Sie, wie Sie die PHP7-Grafikbibliothek php_ui.dll unter Windows kompilieren

coldplay.xixi
Freigeben: 2023-02-17 20:08:02
nach vorne
2436 Leute haben es durchsucht

Erklären Sie, wie Sie die PHP7-Grafikbibliothek php_ui.dll unter Windows kompilieren

Empfohlen (kostenlos): PHP7

Die grafische Programmierung von PHP ist heutzutage interessant, aber jetzt kann ich nur PHP 7.1 herunterladen. Dieses Tutorial kompiliert PHP für PHP7.2.6 ui

Es ist relativ einfach, unter Linux zu kompilieren, aber unter Windows ist es problematischer

Einrichtung der Kompilierungsumgebung

Es gibt mehrere wichtige Unterschiede bei der Kompilierung von PHP7.2.6 (Windows-Umgebung).

1 .Php7.2 Verwenden Sie VC15 (VS2017), um den SDK von

2.PHP7-PHP-SDK zu kompilieren. vs2017-Compiler und Die Idee ist getrennt, da wir nur den Compiler benötigen, sodass wir vs2017 nicht installieren müssen (Sie können die kostenlose Version von vs2017 auch direkt installieren)

Beachten Sie, dass Sie cmake separat unter Win herunterladen und konfigurieren müssen die Systemumgebung

http://landinghub.visualstudio.com /visual-cpp-build-tools

Klicken Sie auf die Download-Adresse, um zur Download-Seite zu gelangen und finden Sie unten „

Visual Studio 2017 Build Tools

“. Laden Sie es einfach herunter und installieren Sie es. Achten Sie darauf, vc-bezogene Programme auszuwählen. Unten finden Sie einen Screenshot der Installation. Laden Sie php-sdk herunter und entpacken Sie es -sdk-binary-tools

Extrahieren Sie nach d:php_sdk (vorausgesetzt, wir verwenden d:php_sdk als Kompilierungsverzeichnis)

Zu diesem Zeitpunkt sollte

in J:compilerphpsdkbinary- vorhanden sein. tools unter d:php_sdk. Führen Sie „phpsdk-vc15-x86.bat“ aus. Halten Sie im Verzeichnis „php_sdk“ die Umschalttaste gedrückt und klicken Sie mit der rechten Maustaste auf „Befehl hier öffnen“. Zeilenfenster „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,

Das Ergebnis ist wie unten gezeigt (das phpsdk-Verzeichnis ist anders)


Führen Sie phpsdk_buildtree phpdev

Zu diesem Zeitpunkt J:compilerphpsdkEs sollte sich unten ein phpdev-Verzeichnis befinden

herunterladen. libui

In ein beliebiges Verzeichnis extrahieren

mkdir build && cd build 
cmake -G"NMake Makefiles" NDEBUG ..
Nach dem Login kopieren
打开
CMakeFiles\libui.dir\build.make:1298
	resources.rc.* 改成 resources.rc.res
Nach dem Login kopieren
cmake --build .
Nach dem Login kopieren
libui-alpha3.5\build\out
out\libui.lib 和 out\libui.res 复制到 J:\compiler\php\sdk\phpdev\vc15\x64\phpdev\vc15\x64\deps\lib
libui-alpha3.5
ui.h 复制到 J:\compiler\php\sdk\phpdev\vc15\x64\phpdev\vc15\x64\deps\include
ui_darwin.h 复制到 J:\compiler\php\sdk\phpdev\vc15\x64\phpdev\vc15\x64\deps\include
ui_unix.h 复制到 J:\compiler\php\sdk\phpdev\vc15\x64\phpdev\vc15\x64\deps\include
ui_windows.h 复制到 J:\compiler\php\sdk\phpdev\vc15\x64\phpdev\vc15\x64\deps\include
Nach dem Login kopieren

Laden Sie pthreads-w32-2-9-1-release herunter und klicken Sie auf die Download-Seite

pthreadVC2.lib 复制到 J:\compiler\php\sdk\phpdev\phpdev\vc15\x64\deps\lib
Nach dem Login kopieren

Öffnen Sie pthread.h und fügen Sie den Vorverarbeitungsinhalt am Anfang wie folgt hinzu

#define HAVE_STRUCT_TIMESPEC
#define _TIMESPEC_DEFINED
Nach dem Login kopieren

Kopieren Sie diese Datei nach

J:\compiler\php\sdk\phpdev\phpdev\vc15\x64\deps\include
Nach dem Login kopieren

PHP-UI herunterladen

https://github.com/krakjoe/ui
Wenn Sie eine aktuelle Version haben, können Sie diese direkt herunterladen
http://pecl.php.net/package /ui
Manual
http ://php.net/ui

Extrahieren Sie es in das PHP-Ext-Verzeichnis und benennen Sie es in ui um.

Geben Sie das PHP-SRC-Verzeichnis ein und führen Sie die

Befehlszeile aus „cd /d J:compilerphpsdkphpdevvc15x64php-7.2.6 “ Geben Sie das PHP-Quellcodeverzeichnis ein

Befehlszeile „phpsdk_deps --update --branch master“ PHP lädt automatisch die erforderlichen Abhängigkeitspakete herunter (zuvor Sie erforderlich, um die PHP-DSP-Datei manuell herunterzuladen)

Siehe die Worte erfolgreich Beschreibung Download abgeschlossen

Führen Sie „buildconf“ aus

Befehlszeilenausführung „buildconf

Wenn Sie dort dazu aufgefordert werden ist keine Skript-Engine mit der Dateierweiterung „.js“

Sie können die Datei herunterladen, um die Lösung auszuführen, und klicken, um zu springen

重新执行 buildconf

结果如下 说明运行完毕

  1. $ buildconf  
  2. Rebuilding configure.js  
  3. Now run 'configure --help' 

编译php

configure --disable-all --enable-cli --enable-fd-setsize=2048 --enable-sanitizer --with-ui=shared --with-curl=shared --disable-cgi
Nach dem Login kopieren
扩展
--disable-zts
--disable-cgi   编译出 windows 版本和 php-cgi.exe  
--disable-zts   nts 非线程安全  
--enable-shmop=shared   以dll 方式编译 php shmop 扩展
Nach dem Login kopieren
Makefile 如果链接提示库不存在 可修改makefile 修改如下
	LIBS=kernel32.lib ole32.lib user32.lib advapi32.lib shell32.lib ws2_32.lib Dnsapi.lib psapi.lib bcrypt.lib comdlg32.lib  Gdi32.lib comctl32.lib version.lib d2d1.lib dwrite.lib windowscodecs.lib dxgi.lib d3d12.lib ScrnSave.Lib USP10.Lib UxTheme.lib
Nach dem Login kopieren

然后执行"nmake" 开始编译

等待数分钟(或者数10分钟)后,在php-源码目录应该能够找到 Release_TS 目录看见 php-ui了

最后 pthreadVC2.dll 和 libui.dll 复制到php 根目录 

php-ui.dll 复制到 php ext目录

php ini 新增 

extension=ui
Nach dem Login kopieren

ok下面是运行截图


下面是编译好了的

点击到下载页面

Das obige ist der detaillierte Inhalt vonErklären Sie, wie Sie die PHP7-Grafikbibliothek php_ui.dll unter Windows kompilieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage