真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

PHP-windows下編譯PHP7.2的memcache

概述

PHP 7.2出來有一段時間了,不出意料,memcache又不能用了,于是又想到要自己動手編譯,不過與我編譯PHP 7.1的memcache的時候相比,有個好消息是已經(jīng)有人把PHP 7.1和7.2 的memcache都編譯好并放在github上了,需要的可直接去那里下載,我這篇文章就不提供下載了:
https://github.com/nono303/PHP7-memcache-dll

成都創(chuàng)新互聯(lián)公司專注于漳縣網(wǎng)站建設服務及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供漳縣營銷型網(wǎng)站建設,漳縣網(wǎng)站制作、漳縣網(wǎng)頁設計、漳縣網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)服務,打造漳縣網(wǎng)絡公司原創(chuàng)品牌,更為您提供漳縣網(wǎng)站排名全網(wǎng)營銷落地服務。

注:這里還是要強烈吐槽一下百度,以“php 7.2 memcache”為關鍵字,完全搜索不到任何有用的東西,上面那個網(wǎng)址我是用google一下子就搜到了,而且還受到啟發(fā),順利的把編譯過程給搞定,所以搞開發(fā)的遇到技術問題,還是不要在百度上浪費生命了。

我下面還是把我研究出來的PHP 7.2 memcache的編譯方法寫出來,給有需要的人做個參考吧。

PHP 7.2的memcache編譯方法跟之前版本有了一些變化,主要體現(xiàn)在:

  1. PHP SDK的下載路徑與編譯方式發(fā)生了改變;
  2. PHP 7.2的memcache要使用VC15編譯;

下載文件

編譯前需要下載如下文件:

  1. 編譯環(huán)境:
    PHP-memcached是用VC15編譯的,因為并不常用VC15,所以到微軟的官網(wǎng)上下載visual studio 2017 entrpise的試用版即可。
    地址:
    https://www.visualstudio.com/zh-hans/?rr=https%3A%2F%2Fwww.microsoft.com%2Fzh-cn%2F
  2. PHP源代碼:
    從PHP官網(wǎng)上下載源代碼,地址:
    http://windows.php.net/downloads/releases/php-7.2.0-src.zip
  3. 下載PHP-SDK文件:
    原來的網(wǎng)址里,已經(jīng)沒有PHP 7.2的SDK包下載,根據(jù)其頁面上的Readme.txt的說明,要到如下地址去下載:
    https://github.com/Microsoft/php-sdk-binary-tools
  4. 下載memcache擴展包的源碼,這個地址也換了,如下:
    https://github.com/websupport-sk/pecl-memcache/tree/NON_BLOCKING_IO_php7

準備PHP代碼

注意:編譯前需先安裝好vs2017。

  1. 新建一個編譯目錄,如PHP72Compile;
  2. 將從https://github.com/Microsoft/php-sdk-binary-tools 下載的包解壓到這個目錄,目錄結構如下:
    PHP - windows下編譯PHP 7.2的memcache
  3. 打開cmd窗口,進入到PHP72Compile目錄;
  4. 執(zhí)行phpsdk-vc15-x64.bat,結果如下圖:
    PHP - windows下編譯PHP 7.2的memcache
  5. 再運行:phpsdk_buildtree phpdev,結果如下圖:
    PHP - windows下編譯PHP 7.2的memcache
  6. 在此路徑下建立php-src目錄,并將下載的PHP源碼拷貝到這個目錄,最終目錄結構如下:
    PHP - windows下編譯PHP 7.2的memcache
  7. 在命令行進入到php-src目錄,結果如下圖:
    PHP - windows下編譯PHP 7.2的memcache
  8. 執(zhí)行命令:phpsdk_deps --update --branch master,用來獲取SDK的依賴包,輸出信息如下:
D:\PHP72Compile\phpdev\vc15\x64\php-src
$ phpsdk_deps --update --branch master

Configuration: master-vc15-x64-staging

Processing package ICU-60.1-1-vc15-x64.zip
Processing package apache-2.4.28-vc15-x64.zip
Processing package c-client-2007f-vc15-x64.zip
Processing package fbclient-3.0-nocrt-x64.zip
Processing package freetype-2.8.0-1-vc15-x64.zip
Processing package glib-2.53.3-vc15-x64.zip
Processing package libargon2-20161029-vc15-x64.zip
Processing package libbzip2-1.0.6-vc15-x64.zip
Processing package libcurl-7.56.0-2-vc15-x64.zip
Processing package libenchant-1.6.0-vc15-x64.zip
Processing package libffi-3.2.1-vc15-x64.zip
Processing package libiconv-1.15-1-vc15-x64.zip
Processing package libintl-0.18.3-1-vc15-x64.zip
Processing package libjpeg-9b-vc15-x64.zip
Processing package liblmdb-0.9.21-vc15-x64.zip
Processing package libpng-1.6.34-vc15-x64.zip
Processing package libpq-9.6.5-vc15-x64.zip
Processing package libqdbm-1.8.78-vc15-x64.zip
Processing package libsasl-2.1.27-vc15-x64.zip
Processing package libssh3-1.8.0-vc15-x64.zip
Processing package libtidy-5.4.0-vc15-x64.zip
Processing package libwebp-0.6.0-vc15-x64.zip
Processing package libxml2-2.9.5-vc15-x64.zip
Processing package libxpm-3.5.12-1-vc15-x64.zip
Processing package libxslt-1.1.30-vc15-x64.zip
Processing package libzip-1.3.0-v15-x64.zip
Processing package mpir-3.0.0-vc15-x64.zip
Processing package net-snmp-5.7.3-vc15-x64.zip
Processing package nghttp2-1.24.0-vc15-x64.zip
Processing package openldap-2.4.45-vc15-x64.zip
Processing package openssl-1.1.0g-vc15-x64.zip
Processing package wineditline-2.202-vc15-x64.zip
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:\PHP72Compile\phpdev\vc15\x64\deps.201712260650'.

D:\PHP72Compile\phpdev\vc15\x64\php-src
$

準備PHP memcache代碼

  1. 在與php-src同級的目錄下建立pecl\memcache目錄,并將下載的php-memcache代碼放到這個目錄下,效果如下圖:
    PHP - windows下編譯PHP 7.2的memcache
  2. 執(zhí)行buildconf命令,效果如下圖:
    PHP - windows下編譯PHP 7.2的memcache
  3. 執(zhí)行命令:
configure --disable-all --enable-cli --enable-zlib --enable-hash --enable-session --without-gd --with-bz2 --enable-memcache=shared --enable-fd-setsize=2048 --enable-sanitizer

輸出信息如下:

D:\PHP72Compile\phpdev\vc15\x64\php-src
$ configure --disable-all --enable-cli --enable-zlib --enable-hash --enable-session --without-gd --with-bz2 --enable-memcache=shared --enable-fd-setsize=2048 --enable-sanitizer
PHP Version: 7.2.0

Saving configure options to config.nice.bat
Checking for cl.exe ...  
WARNING: Using unknown MSVC version 19.12.25831

  Detected compiler MSVC 19.12.25831, untested
  Detected 64-bit compiler
Checking for link.exe ...  C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.12.25827\bin\HostX64\x64
Checking for nmake.exe ...  
Checking for lib.exe ...  
Checking for bison.exe ...  
Checking for sed.exe ...  
Checking for re2c.exe ...  
  Detected re2c version 1.0.2
Checking for zip.exe ...  
Checking for lemon.exe ...  
Checking for mc.exe ...  C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64
Checking for mt.exe ...  C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64
Enabling multi process build

Build dir: D:\PHP72Compile\phpdev\vc15\x64\php-src\x64\Release_TS
PHP Core:  php7ts.dll and php7ts.lib

Checking for wspiapi.h ...  
Enabling IPv6 support
Enabling SAPI sapi\cli
Checking for library edit_a.lib;edit.lib ... ..\deps\lib\edit_a.lib
Checking for editline/readline.h ...  D:\PHP72Compile\phpdev\vc15\x64\deps\include
Checking for library libbz2_a.lib;libbz2.lib ... ..\deps\lib\libbz2_a.lib
Checking for bzlib.h ...  D:\PHP72Compile\phpdev\vc15\x64\deps\include
Enabling extension ext\bz2
Enabling extension ext\date
Checking for KeccakHash.h ...  ext/hash/sha3/generic64lc
Enabling extension ext\hash
Enabling extension ext\pcre
Enabling extension ext\reflection
Enabling extension ext\session
Enabling extension ext\spl
Checking for timelib_config.h ...  ext/date/lib
Enabling extension ext\standard
Checking for library zlib_a.lib;zlib.lib ... ..\deps\lib\zlib_a.lib
Checking for zlib.h ...  D:\PHP72Compile\phpdev\vc15\x64\deps\include
Enabling extension ext\zlib
Enabling extension ..\pecl\memcache\php7 [shared]

Creating build dirs...
Generating files...
Generating Makefile
Generating main/internal_functions.c
Generating main/config.w32.h
Generating phpize
Done.

Enabled extensions:
-----------------------
| Extension  | Mode   |
-----------------------
| bz2        | static |
| date       | static |
| hash       | static |
| memcache   | shared |
| pcre       | static |
| reflection | static |
| session    | static |
| spl        | static |
| standard   | static |
| zlib       | static |
-----------------------

Enabled SAPI:
-------------
| Sapi Name |
-------------
| cli       |
-------------

------------------------------------------------
|                 |                            |
------------------------------------------------
| Build type      | Release                    |
| Thread Safety   | Yes                        |
| Compiler        | MSVC 19.12.25831, untested |
| Architecture    | x64                        |
| Optimization    | PGO disabled               |
| Static analyzer | disabled                   |
------------------------------------------------

Type 'nmake' to build PHP

D:\PHP72Compile\phpdev\vc15\x64\php-src
$

編譯與查看

  1. 執(zhí)行nmake開始編譯,,等待幾分鐘或十幾分鐘,中間會報若干警告,不用理會;
  2. 編譯完成后,在“D:\PHP72Compile\phpdev\vc15\x64\php-src\x64\Release_TS\”目錄下可找到php_memcache.dll。

當前標題:PHP-windows下編譯PHP7.2的memcache
分享路徑:http://weahome.cn/article/gocihd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部