溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

windows下編譯php7圖形庫php_ui.dll的示例分析

發(fā)布時間:2021-02-26 09:51:45 來源:億速云 閱讀:214 作者:清風(fēng) 欄目:編程語言

這篇“windows下編譯php7圖形庫php_ui.dll的示例分析”除了程序員外大部分人都不太理解,今天小編為了讓大家更加理解“windows下編譯php7圖形庫php_ui.dll的示例分析”,給大家總結(jié)了以下內(nèi)容,具有一定借鑒價值,內(nèi)容詳細步驟清晰,細節(jié)處理妥當(dāng),希望大家通過這篇文章有所收獲,下面讓我們一起來看看具體內(nèi)容吧。

php有什么用

php是一個嵌套的縮寫名稱,指的是英文超級文本預(yù)處理語言(php:Hypertext Preprocessor)的縮寫,它的語法混合了C、Java、Perl以及php自創(chuàng)新的語法,主要用來做網(wǎng)站開發(fā),許多小型網(wǎng)站都用php開發(fā),因為php是開源的,從而使得php經(jīng)久不衰。

具有圖形化編程才有意思,這幾天看到了php ui 圖形擴展,只是現(xiàn)在只能下載php 7.1的 本次教程編譯php7.2.6的 php ui

要是linux下編譯起來比較簡單 但是 windows下就麻煩些

編譯環(huán)境搭建

php7.2.6的編譯(windows環(huán)境)有幾個重要的不同.

1.php7.2采用 vc15(vs2017)編譯

2.php7的sdk php-sdk

3.編譯環(huán)境搭建更加簡單一些了.

具體環(huán)境搭建

安裝vc15編譯器

vs2017把編譯器 和 ide 分開了,因為我們只需要編譯器所以就不安裝vs2017了(直接安裝vs2017 免費版也可以)

注意win下單獨下載cmake 并配置到系統(tǒng)環(huán)境中

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

點擊 下載地址 到下載頁面 在下面找到 "Visual Studio 2017 生成工具" 下載 安裝就可以了

注意選擇 vc相關(guān)的程序 下面是安裝的截圖

windows下編譯php7圖形庫php_ui.dll的示例分析

下載 php-sdk 解壓

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

解壓到 d:\php_sdk\ (假設(shè)我們準備使用 d:\php_sdk\ 作為編譯目錄)

這時 d:\php_sdk\ 下面應(yīng)該有

windows下編譯php7圖形庫php_ui.dll的示例分析

在 J:\compiler\php\sdk\binary-tools 運行phpsdk-vc15-x86.bat

在 php_sdk 目錄 按住 shift 鍵 右鍵 點擊 "在此處打開命令行窗口"

在命令行窗口運行 "phpsdk-vc15-x86.bat"

注釋: 如果想編譯 64位版本就運行 x64,

結(jié)果如下圖(phpsdk目錄不太一樣)

windows下編譯php7圖形庫php_ui.dll的示例分析

運行 phpsdk_buildtree phpdev

這時候 J:\compiler\php\sdk\下面應(yīng)該會有一個 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 復(fù)制到 J:\compiler\php\sdk\phpdev\vc15\x64\phpdev\vc15\x64\deps\lib
libui-alpha3.5
ui.h 復(fù)制到 J:\compiler\php\sdk\phpdev\vc15\x64\phpdev\vc15\x64\deps\include
ui_darwin.h 復(fù)制到 J:\compiler\php\sdk\phpdev\vc15\x64\phpdev\vc15\x64\deps\include
ui_unix.h 復(fù)制到 J:\compiler\php\sdk\phpdev\vc15\x64\phpdev\vc15\x64\deps\include
ui_windows.h 復(fù)制到 J:\compiler\php\sdk\phpdev\vc15\x64\phpdev\vc15\x64\deps\include

下載 pthreads-w32-2-9-1-release 點擊到下載頁面

pthreadVC2.lib 復(fù)制到 J:\compiler\php\sdk\phpdev\phpdev\vc15\x64\deps\lib

打開 pthread.h 開頭增加預(yù)處理 內(nèi)容如下

#define HAVE_STRUCT_TIMESPEC
#define _TIMESPEC_DEFINED

將這個文件復(fù)制到

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

下載 php ui

https://github.com/krakjoe/ui
如果有當(dāng)前使用版本可直接下載
http://pecl.php.net/package/ui
手冊
http://php.net/ui

解壓到php ext目錄中并重命名為ui

進入 php-src 目錄,執(zhí)行

命令行 "cd /d J:\compiler\php\sdk\phpdev\vc15\x64\php-7.2.6" 進入 php 源碼目錄

命令行"phpsdk_deps --update --branch master" php會自動下載 需要的依賴包(以前需要手動下載php-dsp文件)

看到 successfully 字樣  說明下載完成

執(zhí)行 "buildconf"

命令行 執(zhí)行 "buildconf"

如果提示 沒有文件擴展“.js”的腳本引擎

可下載文件 運行解決 點擊跳轉(zhuǎn)

重新執(zhí)行 buildconf

結(jié)果如下 說明運行完畢

  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

然后執(zhí)行"nmake" 開始編譯

等待數(shù)分鐘(或者數(shù)10分鐘)后,在php-源碼目錄應(yīng)該能夠找到 Release_TS 目錄看見 php-ui了

最后 pthreadVC2.dll 和 libui.dll 復(fù)制到php 根目錄

php-ui.dll 復(fù)制到 php ext目錄

php ini 新增

extension=ui

ok下面是運行截圖

windows下編譯php7圖形庫php_ui.dll的示例分析

感謝你的閱讀,希望你對“windows下編譯php7圖形庫php_ui.dll的示例分析”這一關(guān)鍵問題有了一定的理解,具體使用情況還需要大家自己動手實驗使用過才能領(lǐng)會,快去試試吧,如果想閱讀更多相關(guān)知識點的文章,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI