phpredis php7分支,请求编译一份适用PHP7.0(php7分支)的一个版本

博主在尝试为PHP7.0编译php_redis.dll扩展时,遭遇困难。配置环境包括Visual Studio 2015和WAMP 64位。在经历一天的调试后,虽然配置过程中没有出现错误,但nmake编译时遇到了'不知道如何生成“php_redis.dll”'的致命错误。尝试启用redis_igbinary支持也未能解决问题,输出警告。寻求下一步解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

I tried to compile the php_redis.dll for PHP 7.0, but after testing and debugging for a whole day, I finally got some errors. I hope my compiling log will be helpful to you.

我尝试了一天在 php 7.0 下去编译 php_redis.dll,虽然没有成功,但是感觉已经离得很近了,因此写下一天的记录,也许能够帮助到你。

References

Environment

Visual Studio 2015: We need the “Developer Command Prompt for VS2015” which is "VS2015 开发人员命令提示" in Chinese.

WAMP 64bit (PHP 7.0.0 + PHP 5.6.16)

GitHub

Windows Kits 10

The folder structures for building

8f3908bd611c2ebb3ca34327f0c430a9.png

Compiling lemon.exe

Download the source code lemon.c

Compiling

d:\build>cl lemon.c

用于 x86 的 Microsoft (R) C/C++ 优化编译器 19.00.23506 版

版权所有(C) Microsoft Corporation。保留所有权利。

lemon.c

Microsoft (R) Incremental Linker Version 14.00.23506.0

Copyright (C) Microsoft Corporation. All rights reserved.

/out:lemon.exe

lemon.obj

d:\build>dir lemon.exe

驱动器 D 中的卷是 工作盘

卷的序列号是 000E-243A

d:\build 的目录

2016/01/14 21:37 209,408 lemon.exe

1 个文件 209,408 字节

0 个目录 24,662,654,976 可用字节

With “phpredis” in ext folder

6177f030f74dc660560a083c7259b3ab.png

Configure

d:\build\phpdev\vc14\x86\php-7.0.2-src>configure --disable-all --enable-session --enable-cli --enable-redis --enable-redis-session

Saving configure options to config.nice.bat

Checking for cl.exe ...

Detected compiler MSVC14 (Visual C++ 2015)

Detected 32-bit compiler

Checking for link.exe ... C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN

Checking for nmake.exe ...

Checking for lib.exe ...

Checking for bison.exe ...

Checking for re2c.exe ...

Detected re2c version 0.13.5

Checking for zip.exe ...

Checking for lemon.exe ...

Checking for mc.exe ... C:\Program Files (x86)\Windows Kits\10\bin\x86

Checking for mt.exe ... C:\Program Files (x86)\Windows Kits\10\bin\x86

Enabling multi process build

Build dir: D:\build\phpdev\vc14\x86\php-7.0.2-src\Release_TS

PHP Core: php7ts.dll and php7ts.lib

Checking for wspiapi.h ...

Enabling IPv6 support

Enabling SAPI sapi\cli

Enabling extension ext\date

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

Creating build dirs...

Generating files...

Generating Makefile

Generating main/internal_functions.c

[content unchanged; skipping]

Generating main/config.w32.h

Generating phpize

Done.

Enabled extensions:

-----------------------

| Extension | Mode |

-----------------------

| date | static |

| pcre | static |

| reflection | static |

| session | static |

| spl | static |

| standard | static |

-----------------------

Enabled SAPI:

-------------

| Sapi Name |

-------------

| cli |

-------------

----------------------------------------------

| | |

----------------------------------------------

| Build type | Release |

| Thread Safety | Yes |

| Compiler | MSVC14 (Visual C++ 2015) |

| Architecture | x86 |

| Optimization | PGO disabled |

| Static analyzer | disabled |

----------------------------------------------

Type 'nmake' to build PHP

d:\build\phpdev\vc14\x86\php-7.0.2-src>

You can see there was no error at all.

But when I started compiling...

d:\build\phpdev\vc14\x86\php-7.0.2-src>nmake php_redis.dll

Microsoft (R) 程序维护实用工具 14.00.23506.0 版

版权所有 (C) Microsoft Corporation。 保留所有权利。

NMAKE : fatal error U1073: 不知道如何生成“php_redis.dll”

Stop.

d:\build\phpdev\vc14\x86\php-7.0.2-src>

Which means "Don't know how to compile php_redis.dll".

If I treid configure like this:

d:\build\phpdev\vc14\x86\php-7.0.2-src>configure --disable-all --enable-session --enable-cli --enable-redis --enable-redis-session --enable-redis-igbinary

Saving configure options to config.nice.bat

Checking for cl.exe ...

Detected compiler MSVC14 (Visual C++ 2015)

Detected 32-bit compiler

Checking for link.exe ... C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN

Checking for nmake.exe ...

Checking for lib.exe ...

Checking for bison.exe ...

Checking for re2c.exe ...

Detected re2c version 0.13.5

Checking for zip.exe ...

Checking for lemon.exe ...

Checking for mc.exe ... C:\Program Files (x86)\Windows Kits\10\bin\x86

Checking for mt.exe ... C:\Program Files (x86)\Windows Kits\10\bin\x86

Enabling multi process build

Build dir: D:\build\phpdev\vc14\x86\php-7.0.2-src\Release_TS

PHP Core: php7ts.dll and php7ts.lib

Checking for wspiapi.h ...

Enabling IPv6 support

Enabling SAPI sapi\cli

Enabling extension ext\date

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 igbinary.h ...

Checking for igbinary.h ...

WARNING: redis igbinary support not enabled

Creating build dirs...

Generating files...

Generating Makefile

Generating main/internal_functions.c

[content unchanged; skipping]

Generating main/config.w32.h

Generating phpize

Done.

...

You can find the WARNING message:

Checking for igbinary.h ...

Checking for igbinary.h ...

WARNING: redis igbinary support not enabled

What should I do next?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值