Skip to content

nono303/PHP-memcache-dll

Repository files navigation

PHP - pecl-memcache Windows binaries

Personally use (and working fine...) x64 avx nts version.
See memcache.ini configuration file exemple

  • AVX releases for specified directory

How to get the good version

  1. VC14, VC15, VS16, VS17:

    • php -i | findstr Compiler

      Result exemple:

      Compiler => MSVC 19.31.30818, untested

      MSVC2022 > 19.3x > toolset 14.3x > VS17

      MSVC2019 > 19.2x > toolset 14.2x > VS16

      MSVC2017 > 19.1x > toolset 14.1x > VC15

      MSVC2015 > 19.0x > toolset 14.0x > VC14

    • MSVC redist x86 - x64

  1. x86 or x64:

    • php -i | findstr Architecture

      Result exemple:

      Architecture => x64

  2. TS or NTS:

    1. php -i | findstr Thread

      Result exemple:

      Thread Safety => disabled

      disabled > NTS

  3. AVX or not (SSE2):

    • Check your cpu supported instructions with CPU-Z


Version 8.2 "972b554" branch main with PR103

  • VS17: 14.39.33218
  • VS16: 14.29.30133
  • VC15: 14.16.27023
  • Window Kit: 10.0.22621.0

2023-05-04 - commit 2023-11-24 - build

Version 8.0.1 "96910ce" branch NON_BLOCKING_IO_php8

⚠️ discontinued

VC15 / VS16 / VS17

2022-07-29 - commit 2022-09-22 - build

Version 8.0 "36d7181" branch NON_BLOCKING_IO_php8

⚠️ discontinued

VC15 / VS16

2020-12-06 - commit 2020-12-06 - build

Version 4.0.5.2 "4fdcbf9" branch NON_BLOCKING_IO_php7

⚠️ discontinued

VC15 / VS16

2020-09-24 - commit

2020-11-14 - build

Version 3.0.9-dev

⚠️ discontinued

VC14

2016-12-08


Check your version

  • Look for 'Product name' in detailed information of the dll file in Windows explorer image-20201114113957010

  • Look at php_info() image-20201114113957010

  • Look at bininfo.csv

Build Scripts

Dependencies


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"
  1. With memcache.protocol = ascii, there is some random lock on session_start() according to memcache.lock_timeout so i've set memcache.lock_timeout = 1 but that doesn’t resolve the problem (just makes it less visible..)
  2. 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 = 

See issue #23 and discution on stackoverflow