>  기사  >  백엔드 개발  >  Windows에서 php7.2를 컴파일하고 judy를 확장합니다.

Windows에서 php7.2를 컴파일하고 judy를 확장합니다.

不言
不言원래의
2018-04-08 09:21:142634검색

이 글에서 공유한 내용은 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은 컴파일러만 필요하므로 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


3이 있어야 합니다. phpsdk-vc15-x86.bat

shift 키를 누른 채 php_sdk 디렉터리에서 "여기에서 명령줄 창 열기"를 마우스 오른쪽 버튼으로 클릭하세요

명령줄에서 창에서 "phpsdk-vc15-x86.bat"를 실행하세요

참고: 64비트 버전으로 컴파일하려면 x64를 실행하세요.

결과는 아래와 같습니다(phpsdk 디렉토리가 다릅니다)


4. phptreesdk_build phpdev

실행 이때 d:php_sdk

아래에 phpdev 디렉터리가 있어야 합니다.

5 PHP 소스 코드를 다운로드하고 d:php_sdkphpdevvc15x86php-src

at 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"

명령줄 실행"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 파일이 성공적으로 컴파일 되었음을 증명하는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.