Maison  >  Article  >  développement back-end  >  Expliquer comment compiler la bibliothèque graphique php7 php_ui.dll sous Windows

Expliquer comment compiler la bibliothèque graphique php7 php_ui.dll sous Windows

coldplay.xixi
coldplay.xixiavant
2021-02-26 09:28:182417parcourir

Expliquer comment compiler la bibliothèque graphique php7 php_ui.dll sous Windows

Recommandé (gratuit) : PHP7

Avoir une programmation graphique est intéressant, j'ai vu php ui ces jours-ci Graphiques extension, mais maintenant vous ne pouvez télécharger que ce tutoriel de php 7.1 pour compiler l'interface utilisateur php de php7.2.6

Il est plus facile de compiler sous Linux mais plus gênant sous Windows

Environnement de compilation configuration

Il existe plusieurs différences importantes dans la compilation de php7.2.6 (environnement Windows).

1.php7.2 est compilé avec vc15 (vs2017 )

2.php7's sdk php-sdk

3. La construction de l'environnement de compilation est plus simple.

Construction d'un environnement spécifique

Installer le compilateur vc15

vs2017 sépare le compilateur et l'ide Parce que nous n'avons besoin que du compilateur, nous n'avons pas besoin d'installer vs2017 (vous pouvez également installer directement la version gratuite vs2017)

Veuillez télécharger cmake séparément sous Win et configurez-le dans l'environnement système

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


Cliquez l'adresse de téléchargement Accédez à la page de téléchargement et recherchez "

Visual Studio 2017 Generation Tool" ci-dessous. Téléchargez-le et installez-le

Veillez à sélectionner celui lié au vc. Vous trouverez ci-dessous une capture d'écran de l'installation


Téléchargez php-sdk et décompressez-le

https:// github.com/Microsoft/php-sdk-binary-tools


Extraire vers d:php_sdk (en supposant que nous prévoyons d'utiliser d:php_sdk comme répertoire de compilation)

Pour le moment , il devrait y avoir


Exécutez phpsdk-vc15-x86.bat dans J:compilerphpsdkbinary-tools

Maintenez la touche Maj enfoncée et cliquez avec le bouton droit sur "Ouvrir la fenêtre de ligne de commande ici" dans le répertoire php_sdk "

Exécutez "phpsdk-vc15-x86.bat" dans la fenêtre de ligne de commande

Remarque : Si vous souhaitez compiler la version 64 bits, exécutez x64,

Le résultat est tel qu'indiqué ci-dessous (la table des matières de phpsdk est différente)


Exécuter phpsdk_buildtree phpdev

À ce moment J:compilerphpsdk Il devrait y avoir un répertoire phpdev ci-dessous

Télécharger libui

Extraire-le dans n'importe quel répertoire

mkdir build && cd build 
cmake -G"NMake Makefiles" NDEBUG ..
打开
CMakeFiles\libui.dir\build.make:1298
	resources.rc.* 改成 resources.rc.res
cmake --build .
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

Téléchargez pthreads-w32-2-9-1-release et cliquez pour télécharger la page

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

Ouvrez pthread.h et ajoutez le contenu de prétraitement au début comme suit

#define HAVE_STRUCT_TIMESPEC
#define _TIMESPEC_DEFINED

Copiez ce fichier dans

J:\compiler\php\sdk\phpdev\phpdev\vc15\x64\deps\include

Télécharger php ui

https:// github.com/krakjoe/ ui
Si vous disposez de la version actuelle, vous pouvez la télécharger directement
http://pecl.php.net/package/ui
Manuel
http://php.net/ui

Extraire dans le répertoire php ext et renommez-le en ui

Entrez dans le répertoire php-src, exécutez la

ligne de commande "cd /d J:compilerphpsdkphpdevvc15x64php-7.2.6" pour entrer dans le répertoire du code source php

Ligne de commande "phpsdk_deps --update --branch master" php téléchargera automatiquement les packages de dépendances requis (auparavant, vous deviez télécharger le php-dsp manuellement)

Voir avec succès Les mots indiquent que le téléchargement est terminé

Exécuter "buildconf"

Exécution de la ligne de commande "buildconf"

Si vous êtes invité à indiquer qu'il n'y a pas de moteur de script avec l'extension de fichier ".js"

Vous pouvez télécharger le fichier pour exécuter la solution et cliquer pour sauter

重新执行 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
扩展
--disable-zts
--disable-cgi   编译出 windows 版本和 php-cgi.exe  
--disable-zts   nts 非线程安全  
--enable-shmop=shared   以dll 方式编译 php shmop 扩展
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

然后执行"nmake" 开始编译

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

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

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

php ini 新增 

extension=ui

ok下面是运行截图


下面是编译好了的

点击到下载页面

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer