推薦(免費):PHP7
#具有圖形化程式設計才有意思,這幾天看到了php ui圖形擴展,只是現在只能下載php 7.1的本次教程編譯php7.2.6的php ui
要是linux下編譯起來比較簡單但是windows下就麻煩些
#編譯環境搭建
php7.2.6的編譯(windows環境)有幾個重要的不同.
1.php7.2採用vc15(vs2017)編譯
2.php7的sdk php-sdk
3.編譯環境搭建更簡單一些了.
具體環境搭建
安裝vc15編譯器
vs2017把編譯器和ide 分開了,因為我們只需要編譯器所以就不安裝vs2017了(直接安裝vs2017 免費版也可以)
注意win下方單獨下載cmake 並配置到系統環境中
http://landinghub.visualstudio.com/visual-cpp-build-tools
#點擊下載位址到下載頁面在下面找到"Visual Studio 2017 生成工具" 下載安裝就可以了
注意選擇vc相關的程式下面是安裝的截圖
下載php-sdk 解壓縮
https://github.com/Microsoft/php-sdk-binary-tools
解壓縮到d:\php_sdk\ (假設我們準備用d:\php_sdk\ 作為編譯目錄)
這時d:\php_sdk\ 下面應該有
在 J:\compiler\php\sdk\binary-tools 執行phpsdk-vc15-x86.bat
在php_sdk 目錄按住shift 鍵右鍵點擊"在此處開啟命令列視窗"
在命令列視窗執行"phpsdk-vc15-x86.bat"
註解: 如果想編譯64位元版本就執行x64,
結果如下圖(phpsdk目錄不太一樣)
這時候 #J:\compiler \php\sdk\下面應該會有一個phpdev 目錄
#下載 libui
##解壓縮到任意目錄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
下載 pthreads-w32-2-9-1-release 點擊到下載頁面
pthreadVC2.lib 复制到 J:\compiler\php\sdk\phpdev\phpdev\vc15\x64\deps\lib打開pthread.h 開頭增加預處理內容如下
#define HAVE_STRUCT_TIMESPEC #define _TIMESPEC_DEFINED將這個檔案複製到
J:\compiler\php\sdk\phpdev\phpdev\vc15\x64\deps\include
#下載php ui
##https:// github.com/krakjoe/ui
如果有目前使用版本可直接下載
http://pecl.php.net/package/ui
手冊
http://php.net/ui
解壓縮到php ext目錄中並重新命名為ui
命令列"cd /d
J:\compiler\php\sdk\phpdev\vc15\x64\php-7.2.6" 進入php 原始碼目錄命令列"php
sdk_deps --update --branch master" php會自動下載需要的依賴套件(以前需要手動下載php-dsp檔案)看到
successfully 字樣 說明下載完成執行"
buildconf#"命令列執行"
buildconf"
如果提示 沒有檔案擴充「.js」的腳本引擎可下載檔案執行解決點擊跳轉
重新执行 buildconf
结果如下 说明运行完毕
编译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下面是运行截图
下面是编译好了的
点击到下载页面
以上是講解windows下編譯php7圖形函式庫php_ui.dll的詳細內容。更多資訊請關注PHP中文網其他相關文章!