Windows 下編譯 PHP Redis 擴展並支持 Igbinary 序列器

這是 PHP 下擴展的下載地址:https://windows.php.net/downloads/pecl/releases/

當然,通過這個地址我們能夠輕鬆的獲取到 Redis 和 Igbinary 擴展並啓用,但是,我們可以在頁面上打開 phpinfo() 瞧瞧

serializers
上方截圖爲重編譯的 Redis 擴展,默認情況下通過上方網站下載的 Redis 擴展在 Available serializers 中只有 php 一項。

目前僅編譯了 7.2 NTS x64 的版本,需要的小夥伴自取:https://pan.baidu.com/s/1Jqx3riuEihLCwzQvPH37HA【提取碼:2qq2】


編譯指南

下載

  1. Visual Studio,PHP 7.2-7.4 需要使用 2017 版,master 則需更高,參考 PHP: internals:windows:stepbystepbuild_sdk_2
  2. php-binary-sdk-tool,沒啥好說的,直接下載:https://github.com/Microsoft/php-sdk-binary-tools
  3. PHP 源碼一份,在這兒下:https://windows.php.net/downloads/releases(歷史版本在 archives 裏)
  4. 擴展源碼,在這兒搜索下載最新版即可:https://pecl.php.net

啓動命令行

php-binary-sdk-tool 工具解壓到任意路徑,根據 PHP 源碼版本、位執行相應的 bat 文件,例如 PHP 7.2 64 位則需要雙擊執行 phpsdk-vc15-x64.bat 文件

文件準備

以下用 PHP 7.2.21 版本示例

命令行啓動後先擱一邊,首先解壓 PHP 源碼,扔桌面就行,同時在桌面建立文件夾 pecl。隨後將擴展參考如下路徑放入 pecl 文件夾內:

桌面\php-7.2.21-src\源碼內容
桌面\pecl\igbinary-3.1.2
桌面\pecl\redis-5.2.2

以上只是第一步,接着進入 PHP 源碼文件夾並創建該路徑 桌面\php-7.2.21-src\no\include,將 igbinary 擴展源碼複製一份到此,即:

桌面\php-7.2.21-src\no\include\src
桌面\php-7.2.21-src\no\include\igbinary.h
桌面\php-7.2.21-src\no\include\php_igbinary.h

最後進入 桌面\php-7.2.21-src\ext,創建 igbinary 文件夾,同樣將源碼複製至此即可。

編譯

回到命令行上,通過 cd 命令切換當前路徑到桌面並進入 PHP 源碼文件夾:

buildconf
configure --disable-all --enable-cli --enable-cgi --enable-session --enable-hash --enable-igbinary=shared --enable-redis=shared --enable-redis-igbinary --disable-zts
nmake
--disable-zts 爲禁用線程安全, 如無需要可去掉該參數

編譯完成後,64 位非線程安全擴展位於 桌面\php-7.2.21-src\x64\Release\php_redis.dll,扔進 PHP 安裝文件夾的 ext 內使用唄。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章