在我的 PHP 5.6 网站上,我一直使用内存缓存扩展与 memcached 守护进程交互。由于扩展具有匹配的 DLL,这意味着我也可以将其部署到我的 Windows 开发机器上,一切都很顺利。
然而,这个扩展已被废弃,并且没有对 PHP7 的官方支持。所以我想转到MemcacheD扩展名。问题是我找不到任何适用于此的 Windows DLL 版本。这个帖子从 5 年前的 StackOverflow 开始,但我再也找不到任何内容了。
似乎有没有官方计划构建 Windows DLL,但由于 PHP 提供了如何编译一个(超出了我能在没有帮助的情况下做的事情),我希望其他人知道与 PHP 7.2 兼容的来源
答案1
请查找 php_memcache.dllphp7.0.x、php7.1.x、php7.2.x https://github.com/nono303/PHP7-memcache-dll
- VC14型&VC15
- x86&x64
- 特斯&国家标准
您也可以尝试:新memcached
扩展在 Windows 上不起作用,因为libmemcached
在 Windows 上不起作用。但是,似乎有人已经将旧memcache
扩展安装在 Windows 上。我找不到一个好的预编译二进制文件,但经过大量挖掘,我找到了一个PHP 错误报告关于这个问题。那里似乎有人找到了解决方案:
[2016-01-20 23:11 UTC] php@alternize.com
git 存储库的“NON_BLOCKING_IO_php7”分支https://github.com/websupport-sk/pecl-memcache.git在 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