首頁  >  文章  >  後端開發  >  windows 下編譯php7.2 極度擴展 judy

windows 下編譯php7.2 極度擴展 judy

不言
不言原創
2018-04-08 09:21:142652瀏覽

這篇文章分享的內容是windows 下編譯php7.2 極度擴展judy,現在分享給大家,有需要的朋友可以參考一下本篇文章的內容

php升級到7.2了打算開始使用php7.2,但是我經常使用的一個擴展judy 沒有官方編譯後的版本...所以打算自己編譯..

參考文章: http://blog.51cto .com/lancelot/2054953  windows下編譯php7.2擴充memcache

1.編譯環境搭建

(1)php7.2的編譯(windows環境)有幾個重要的不同.

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

2.php7.2的php-sdk dsp 不在先前的頁面提供下載了(換地址了)

3.編譯環境建置更加簡單一些了.


(2)具體環境建置

一.安裝vc15編譯器


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

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\ 下方應該有 


三.在d:\php_sdk\ 執行phpsdk-vc15-x86.bat

在php_sdk 目錄按住shift 鍵右鍵點選"在此處開啟命令列視窗"

在命令列視窗執行"phpsdk-vc15-x86.bat"  

註解: 如果想編譯64位元版本就執行x64 ,

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


#四.運行 phpsdk_buildtree #php dev 

這時候 d:\php_sdk\ 下面應該會有一個phpdev 目錄

#

五.下載php原始碼解壓縮到 d:\php_sdk\phpdev\vc15\x86\php-src

#在  d:\php_sdk\phpdev\vc15\x86\  (64位元為x64) 下方建立php-src 目錄

下載php原始碼解壓縮到php-src 目錄

###這時 ###d:\php_sdk\###php###dev\vc15\x86\php-src\ 目錄下面應該如下(目錄檔案可能不太一樣但是這就是原始碼的根目錄)###################


##六.進入php- src 目錄,執行

命令列"cd

d:\php_sdk\phpdev\vc15\x86\php-src\

" 進入php-src 目錄

命令列"php

sdk_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

"命令列執行"

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擴充###

1.下载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 的说明按如下步骤编译

2.编译judy.lib

到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

3.拷贝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 )

4.复制 phpjudy(https://github.com/esminis/php_pecl_judy)源码到 php-src\ext\judy\

在 ext\judy\ 下面应该有文件


5.在刚刚编译php的cmd窗口执行 

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了(编译成功)

相关推荐:

PHP编译安装过程以及各编译参数配置详解

PHP7.1安装yaf扩展的方法


以上是windows 下編譯php7.2 極度擴展 judy的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn