이 글에서 공유한 내용은 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은 컴파일러만 필요하므로 vs2017을 설치할 필요가 없습니다. (vs2017 무료 버전도 직접 설치할 수 있습니다.)
http://landinghub.visualstudio.com/visual-cpp-build-tools
다운로드 주소를 클릭하시면 다운로드 페이지로 이동하여 아래 "Visual Studio 2017 Generation Tool"을 찾아 다운로드하여 설치하시면 됩니다. (설치 시 vc 컴파일 관련 도구만 필요한 확인란만 선택하면 된다는 점 참고하세요)
https://github.com/Microsoft/php-sdk-binary -tools
d:php_sdk로 추출합니다(d:php_sdk를 컴파일 디렉터리로 사용한다고 가정)
이때 d:php_sdk
shift 키를 누른 채 php_sdk 디렉터리에서 "여기에서 명령줄 창 열기"를 마우스 오른쪽 버튼으로 클릭하세요
명령줄에서 창에서 "phpsdk-vc15-x86.bat"를 실행하세요
참고: 64비트 버전으로 컴파일하려면 x64를 실행하세요.
결과는 아래와 같습니다(phpsdk 디렉토리가 다릅니다)
실행 이때 d:php_sdk
아래에 phpdev 디렉터리가 있어야 합니다.at d:php_sdkphpdevvc15x86(64)에 압축을 풉니다. 비트는 x64입니다) PHP를 생성합니다- 아래 src 디렉토리
PHP 소스코드를 다운받아 php-src 디렉토리에 압축을 풀어주세요
이때 d:php_sdk phpdevvc15x86php-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 $
명령줄 실행"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 $
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 파일이 성공적으로 컴파일 되었음을 증명하는 php.exe 파일이 있을 것입니다.
컴파일된 "php.exe -v"를 실행하여 확인해보세요. 정상적으로 실행
참고: 다른 명령줄 구성 매개변수
--disable-cgi 编译出 windows 版本和 php-cgi.exe --disable-zts nts 非线程安全 --enable-shmop=shared 以dll 方式编译 php shmop 扩展
위 PHP를 성공적으로 컴파일하면 PHP 컴파일 환경이 완료되었음을 의미합니다. 지금 시작하세요 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!