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

How to get the good version

VC14, VC15, VS16, VS17

  • 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.4x

    VS16 = Visual C++ 2019 > MSVC 19.2x > toolset 14.2x

    VC15 = Visual C++ 2017 > MSVC 19.1x > toolset 14.1x

    VC14 = Visual C++ 2015 > MSVC 19.0x > toolset 14.0x

x86 or x64

  • php -i | findstr Architecture

    Result exemple:

    Architecture => x64

TS or NTS

  1. php -i | findstr Thread

    Result exemple:

    Thread Safety => disabled

    NTS = disabled

    TS = enabled

AVX, AVX2 or not (SSE2):

  • Check your cpu supported instructions with CPU-Z


Release

active

Version 8.2 "972b554" - 2023-05-04 - branch main with PR103

⏩ ​ VC15 / VS16 / VS17

🔴 ​ discontinued

Version 8.0.1 "96910ce" - 2022-07-29 - branch NON_BLOCKING_IO_php8

VC15 / VS16 / VS17

Version 8.0 "36d7181" - 2020-12-06 - branch NON_BLOCKING_IO_php8

VC15 / VS16

Version 4.0.5.2 "4fdcbf9" - 2020-09-24 - branch NON_BLOCKING_IO_php7

VC15 / VS16

Version 3.0.9-dev - 2016-12-08

VC14


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