Memcached (не memcache) Расширение PHP в Windows

Я не могу найти расширение Memcache D для PHP.

Есть несколько компиляций php_memcache.dll, но это не то же самое.

Главное, что мне не хватает getMulti(), которого нет в Memcache.

До сих пор я нашел это, но там нет DLL:

http://pecl.php.net/package/memcached

Ответ 1

Официально - его не существует. Однако есть несколько человек, которые создали свою собственную DLL. Вот блог одного человека, который создал dll:

http://trondn.blogspot.com/2010/07/libmemcached-on-win32.html

Вот ссылка на репозиторий с источником, поэтому вы можете создать свою собственную DLL для memcached:

http://bazaar.launchpad.net/~trond-norbye/libmemcached/mingw32/files

Ответ 2

Я знаю, что memcached имеет некоторые другие функции, но его интерфейс почти идентичен интерфейсу расширения memcache. Вы можете очень легко уйти с таким кодом, и в моем случае он работает отлично. Если у вас нет загруженного memcached, создайте этот файл:


<?php

    class Memcached {
       const OPT_LIBKETAMA_COMPATIBLE = true;
       const OPT_COMPRESSION = true;
       const OPT_NO_BLOCK = true;
       //if you code relies on any other constants define them to avoid
       //undefined constant notice

       //http://www.php.net/manual/en/memcached.constants.php

       public $_instance;
       public function __construct() {
            $this->_instance = new Memcache;
       }

       public function __call($name, $args) {
            return call_user_func_array(array($this->_instance, $name), $args);
       }

       public function setOption() {}
    }


Либо включить его, либо настроить автозагрузчик, чтобы поднять его. Конечно, вам понадобятся правильно сконфигурированные экземпляры memcache и addServer, но такие вызовы уже должны быть в коде, если кодовая база предполагает Memcached. Я надеюсь, что это поможет кому-то/