Maison > développement back-end > PHP7 > 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
Libérer: 2023-02-17 20:08:02
avant
2489 Les gens l'ont consulté

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 ..
Copier après la connexion
打开
CMakeFiles\libui.dir\build.make:1298
	resources.rc.* 改成 resources.rc.res
Copier après la connexion
cmake --build .
Copier après la connexion
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
Copier après la connexion

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
Copier après la connexion

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

#define HAVE_STRUCT_TIMESPEC
#define _TIMESPEC_DEFINED
Copier après la connexion

Copiez ce fichier dans

J:\compiler\php\sdk\phpdev\phpdev\vc15\x64\deps\include
Copier après la connexion

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
Copier après la connexion
扩展
--disable-zts
--disable-cgi   编译出 windows 版本和 php-cgi.exe  
--disable-zts   nts 非线程安全  
--enable-shmop=shared   以dll 方式编译 php shmop 扩展
Copier après la connexion
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
Copier après la connexion

然后执行"nmake" 开始编译

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

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

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

php ini 新增 

extension=ui
Copier après la connexion

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!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal