- src: https://github.com/websupport-sk/pecl-memcache
- doc: https://www.php.net/manual/en/book.memcache.php
Personally use (and working fine...) x64 avx nts version
⏩ See memcache.ini configuration file exemple
How to get the good version
-
php -i | findstr Compiler
Result exemples:
Compiler => MSVC 19.31.30818
Compiler => 2022
VS17
= Visual C++ 2022 > MSVC 19.3x & 19.4x > toolset 14.3x & 14.4xVS16
= Visual C++ 2019 > MSVC 19.2x > toolset 14.2xVC15
= Visual C++ 2017 > MSVC 19.1x > toolset 14.1xVC14
= Visual C++ 2015 > MSVC 19.0x > toolset 14.0x
-
php -i | findstr Architecture
Result exemple:
Architecture => x64
-
php -i | findstr Thread
Result exemple:
Thread Safety => disabled
NTS
= disabledTS
= enabled
-
Check your cpu supported instructions with CPU-Z
⏩ VC15 / VS16 / VS17
php-8.2.x_memcache.dll
with php-src 8.2.13 (API 20220829)php-8.3.x_memcache.dll
with php-src 8.3.0 (API 20230831)php-8.4.x_memcache.dll
with php-src 8.4.0RC1 (API 20240924)⚠️ onlyx64
forvs16
&vc17
Version 8.0.1 "96910ce" - 2022-07-29 - branch NON_BLOCKING_IO_php8
⏩ VC15 / VS16 / VS17
php-8.1.x_memcache.dll
with php-src 8.1.10 (API 20210902)php-8.0.x_memcache.dll
with php-src 8.0.23 (API 20200930)
Version 8.0 "36d7181" - 2020-12-06 - branch NON_BLOCKING_IO_php8
⏩ VC15 / VS16
php-7.4.x_memcache.dll
with php-src 7.4.13 (API 20190902)php-7.3.x_memcache.dll
with php-src 7.3.25 (API 20180731)php-7.2.x_memcache.dll
with php-src 7.2.34 (API 20170718)
Version 4.0.5.2 "4fdcbf9" - 2020-09-24 - branch NON_BLOCKING_IO_php7
⏩ VC15 / VS16
php-7.1.x_memcache.dll
with php-src 7.1.33 (API 20160303)
Version 3.0.9-dev - 2016-12-08
⏩ VC14
php-7.1.x_memcache.dll
with php-src 7.1.0 (API 20160303)php-7.0.x_memcache.dll
with php-src 7.0.6 (API 20151012)
-
Look for 'Product name' in detailed information of the dll file in Windows explorer
-
Look at bininfo.csv
- @nono303/win-build-scripts
- cflags:
/O2 /GL /MD /Zi
- ldflags:
/LTCG /OPT:REF,ICF
- Built and must be run with php deps in php-sdk 'staging' serie
2016-05-18
I’ve noticed 2 bugs when implementing memcache session.handler for
session.save_handler = memcache
session.save_path = "tcp://127.0.0.1:11211"
- With
memcache.protocol = ascii
, there is some random lock onsession_start()
according tomemcache.lock_timeout
so i've setmemcache.lock_timeout = 1
but that doesn’t resolve the problem (just makes it less visible..) - With
memcache.protocol = binary
, first bug seems not appearing but session destroy failed ! All that test have been done with phpmyadmin which write complex data in session
So you can find MemcacheSessionHandlerPrepend.php a MemcacheSessionHandler implementing SessionHandlerInterface to add to your php.ini
with config:
session.save_handler = user
auto_prepend_file = c:/path/to/MemcacheSessionHandlerPrepend.php
; session.save_path =