在Windows上为PHP7安装Memcache?

26

有人知道支持Windows上PHP7的Memcache版本吗?

Memcache在PHP5.6(Windows系统下)表现良好,但我找不到适用于PHP7的版本。


1
顺便说一句,这是一个很棒的问题。 - Will
获取memcache[d]的各种方法 https://dev59.com/nGUq5IYBdhLWcg3wHcz5#52451979 - Jonathan
5个回答

37

1
7.0.6版本应该适用于7.0.0。如果不行,请联系我,我会提供编译好的7.0.0版本。 - nono303
1
我刚刚添加了使用 PHP 7.1.0 源构建的 php_memcache.dll。请查看 https://github.com/nono303/PHP7-memcahe-dll#php-71x_memcachedll。 - nono303
1
请问能否提供 php_memcache 在 7.0.X 和 PHP 7.1.X 上的源代码和依赖项,以便我们可以在 Windows 上进行独立编译? - VladacusB
1
@VladacusB:请参考 https://wiki.php.net/internals/windows/stepbystepbuild 进行 Windows 构建。使用来自 https://github.com/php/php-src 分支的 php-src 可以独立获得 7.0.X 和 PHP 7.1.X。 - nono303
@BradThiessen:你看过https://dev59.com/Ceo6XIcBkEYKwwoYTzAd了吗?如果没有,你能详细说明一下你的MSVC和php-dep软件包版本吗? - nono303
显示剩余6条评论

8
  1. 首先,检查phpinfo(),例如:
    • 编译器:MSVC14 (Visual C++ 2015)
    • 架构:x64
    • PHP Extension Build: API20160303,NTSVC14
  2. 根据phpinfo()中的信息选择正确的dll:
  3. 将php_memcache.dll复制到\PHP\v7.1\ext
  4. 在php.ini中启用php_memcache,添加以下行:
    • extension=php_memcache.dll
  5. 检查phpinfo()中的“memcache”部分的显示;
  6. 检查errors.log

4

你是如何编译memcached.lib的?当我尝试编译时,出现了错误“ERROR: memcached: library 'memcached' not found”。 - Joyce Babu
1
PHP警告:PHP启动时无法加载动态库'c:/wamp64/bin/php/php7.0.23/ext/php_memcache.dll' - %1不是有效的Win32应用程序。位于未知行0。 - Nikunj Dhimar

4

1
TS + NTS版本在此处找到:https://github.com/Alvine-IO/php7-windows/tree/master/7.0.3/x64 - Volker Schukai

2
新的memcached扩展不适用于Windows,因为libmemcached在Windows上无法工作。但是,似乎有人已经成功在Windows上安装了旧的memcache扩展。我找不到漂亮的预编译二进制文件,但是,在大量搜索后,我在PHP Bug Report中找到了关于此问题的解决方法。

[2016-01-20 23:11 UTC] php at alternize dot com

git仓库https://github.com/websupport-sk/pecl-memcache.git的“NON_BLOCKING_IO_php7”分支在win32 x86线程安全模式下与php 7.0.2一起构建良好,但我尚未在非线程安全和/或x64上进行测试。

要构建php_memcache.dll,我按照https://wiki.php.net/internals/windows/stepbystepbuild#building_pecl_extensions上的说明操作:

C:\php-sdk\phpdev\vc14\x86\php-7.0.2-src>buildconf
C:\php-sdk\phpdev\vc14\x86\php-7.0.2-src>configure --disable-all 
  --enable-cli --enable-zlib --enable-hash --enable-session 
  --without-gd --with-bz2 --enable-memcache=shared
C:\php-sdk\phpdev\vc14\x86\php-7.0.2-src>nmake

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接