この記事で共有されている内容は、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-toolsVisual Studio 2017 Generation Tool」を見つけてダウンロードしてインストールしてください。 (インストールするときは、vc コンパイル関連ツールのみを必要とするボックスにチェックを入れるだけでよいことに注意してください)
II .php-sdk をダウンロードして解凍しますhttps://github.com/Microsoft/php-sdk-binary -toolsこの時点では、d:php_sdk の下に phpdev ディレクトリがあるはずです
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 ディレクトリに入ります
コマンド「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」のスクリプトエンジンがありません
Baidu「ありません」ファイル拡張子「.js」のスクリプト エンジンこれに従ってください https://blog.csdn.net/ctthuangcheng/article/details/16951361結果は以下の通りです
$ 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 拡張機能をコンパイルします
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 中国語 Web サイトの他の関連記事を参照してください。