這篇文章分享的內容是windows 下編譯php7.2 極度擴展judy,現在分享給大家,有需要的朋友可以參考一下本篇文章的內容
php升級到7.2了打算開始使用php7.2,但是我經常使用的一個擴展judy 沒有官方編譯後的版本...所以打算自己編譯..
參考文章: http://blog.51cto .com/lancelot/2054953 windows下編譯php7.2擴充memcache
1.php7.2採用vc15(vs2017)編譯
2.php7.2的php-sdk dsp 不在先前的頁面提供下載了(換地址了)
3.編譯環境建置更加簡單一些了.
vs2017把編譯器和ide 分開了,因為我們只需要編譯器所以就不安裝vs2017了(直接安裝vs2017 免費版也可以)
http://landinghub .visualstudio.com/visual-cpp-build-tools
#點擊下載地址到下載頁面在下面找到"Visual Studio 2017 生成工具#" 下載安裝就可以了(安裝的時候注意只需要勾選只需要vc編譯相關工具就可以了)
https://github.com/ Microsoft/php-sdk-binary-tools
解壓縮到d:\php_sdk\ (假設我們準備好使用d:\php_sdk\ 作為編譯目錄)
這時d:\ php_sdk\ 下方應該有
在php_sdk 目錄按住shift 鍵右鍵點選"在此處開啟命令列視窗"
在命令列視窗執行"phpsdk-vc15-x86.bat"
註解: 如果想編譯64位元版本就執行x64 ,
結果如下圖(phpsdk目錄不太一樣)
這時候 d:\php_sdk\ 下面應該會有一個phpdev 目錄
#
#在 d:\php_sdk\phpdev\vc15\x86\ (64位元為x64) 下方建立php-src 目錄
下載php原始碼解壓縮到php-src 目錄
###這時 ###d:\php_sdk\###php###dev\vc15\x86\php-src\ 目錄下面應該如下(目錄檔案可能不太一樣但是這就是原始碼的根目錄)###################
##六.進入php- src 目錄,執行
命令列"cdd:\php_sdk\phpdev\vc15\x86\php-src\
" 進入php-src 目錄命令列"phpsdk_deps --update --branch master
" php會自動下載需要的依賴套件(以前需要手動下載php-dsp檔案)
等待下載完成(大概如下圖)Processing package zlib-1.2.11-vc15-x64.zip
Processing package libsodium-1.0.15-vc15-x64.zip
Updates performed successfully.
Old dependencies backed up into 'D:\php_sdk\phpdev\vc15\x86\deps.201712260650'.
D:\php_sdk\phpdev\vc15\x86\php-src
$
7.執行"
"命令列執行"
buildconf#如果提示 沒有檔案擴充「.js」的腳本引擎
百度"沒有檔案擴充「.js」的腳本引擎"
照這個處理https://blog. csdn.net/ctthuangcheng/article/details/16951361
重新執行buildconf
結果如下
####$ buildconf Rebuilding configure.js Now run 'configure --help' D:\php_sdk\phpdev\vc15\x86\php-src $############################################################################################################ 8.編譯php###
configure --disable-all --enable-cli --enable-zlib --enable-hash --enable-session --without-gd --with-bz2 --enable-fd-setsize=2048 --enable-sanitizer###然後執行"###nmake###" 開始編譯######等待數分鐘(或數10分鐘)後,在php-src 目錄應該能夠找到 Release_TS (或 Release_NTS 或x64\Release_TS ) 這樣的目錄#######如果編譯正常的話這下面會有php.exe 檔案證明編譯php檔案成功.######執行編譯好的"php.exe - v"查看是否正常運行######註解:其他命令列configure 參數###
--disable-cgi 编译出 windows 版本和 php-cgi.exe --disable-zts nts 非线程安全 --enable-shmop=shared 以dll 方式编译 php shmop 扩展###2.編譯judy擴充######上面php編譯成功意味著php編譯環境建置完成,現在開始編譯judy擴充###
http://pecl.php.net/package/judy 这里是php-judy 官网 但是这个源码好久没有更新了 最高只支持php5.6
https://github.com/esminis/php_pecl_judy 这个是github 上面 有用户升级过的php-judy 测试支持php7.2
根据 php_pecl_judy 的说明按如下步骤编译
到https://sourceforge.net/projects/judy/ 下载 源码
解压到任意目录
然后 在 judy-1.0.5\src\ 中右键 shift 点击 "在此处打开命令行窗口"
运行 "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvars32.bat" 注意路径可能不一样
然后运行 "build"
然后会编译出一个 judy.lib
一.重命名 judy.lib 文件为 "libJudy.lib" 复制到 D:\php_sdk\phpdev\vc15\x86\deps\lib\ 目录下
注释:也有可能是 D:\php_sdk\phpdev\vc15\x86\deps.xxxxxxx\lib\ 文件(看看哪个lib下面有 文件 就拷贝到哪个目录)
二.复制 judy.h 到deps\include 下面(同上 目录可能 为deps.xxxx )
在 ext\judy\ 下面应该有文件
configure --disable-all --enable-cli --enable-zlib --enable-hash --enable-session --without-gd --with-bz2 --with-judy=shared --enable-fd-setsize=2048 --enable-sanitizer
(如果关闭了 需要重新 执行 phpsdk-vc15-x86.bat 然后进入 php-src目录 执行 "build")
然后执行 nmake 然后就可以在 Release_TS 目录看见 php-judy.dll了(编译成功)
相关推荐:
以上是windows 下編譯php7.2 極度擴展 judy的詳細內容。更多資訊請關注PHP中文網其他相關文章!