ホームページ >バックエンド開発 >PHPチュートリアル >Windows 上で php7.2 をコンパイルし、judy を拡張します。

Windows 上で php7.2 をコンパイルし、judy を拡張します。

不言
不言オリジナル
2018-04-08 09:21:142704ブラウズ

この記事で共有されている内容は、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)具体的な環境構築

1. vc15コンパイラーをインストールします


vs2017はコンパイラーとIDEを分離しているため、vs2017をインストールする必要はありません(vs2017の無料版を直接インストールすることもできます)。

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


ダウンロードアドレスをクリックしてダウンロードページに移動し、以下の「

Visual Studio 2017 Generation Tool」を見つけてダウンロードしてインストールしてください。 (インストールするときは、vc コンパイル関連ツールのみを必要とするボックスにチェックを入れるだけでよいことに注意してください)

II .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

Shiftキーを押しながら、php_sdkディレクトリの「ここでコマンドラインウィンドウを開く」を右クリックします

コマンドラインで ウィンドウで「phpsdk-vc15-x86.bat」を実行します

注: 64 ビット バージョンをコンパイルしたい場合は、x64 を実行します。

結果は以下のようになります (phpsdk ディレクトリは異なります)


4. php

treesdk_build を実行します phpdev

この時点では、d:php_sdk の下に phpdev ディレクトリがあるはずです

5. PHP ソース コードをダウンロードし、 d:php_sdkphpdevvc15x86php-src

d:php_sdkphpdevvc15x86 ( 64 ビットは x64) php- を作成します。以下のsrcディレクトリ

phpのソースコードをダウンロードし、php-srcディレクトリに展開します

この時点ではd:php_sdk phpdevvc15x86php-srcディレクトリは次のようになります(ディレクトリファイルは異なる場合がありますが、これはソースコードのルートディレクトリです)

6. php-src ディレクトリに入り、

コマンドライン「cd d:php_sdkphpdevvc15x86php-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」のスクリプトエンジンがありません

Baidu「ありません」ファイル拡張子「.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分)待つと、Release_TS(またはRelease_NTSまたはx64Release_TS)のようなディレクトリが見つかるはずですphp-src ディレクトリ。

コンパイルが正常に完了した場合は、php.exe ファイルが正常にコンパイルされたことを証明します。 コンパイルされた「php.exe -v」を実行して、コンパイルが完了したかどうかを確認します。正常に実行されています

注: その他のコマンドライン設定パラメータ

--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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。