Установка Memcached PHP под Windows

Понадобилось установить memcached на локалку специально для некого громоздкого скрипта, который без вышеупомянутого модуля работать не умеет.
Процедура не обошлась без половых актов — спешу поделиться впечатлениями. = )

P.S Гугл выдает достаточно заметок на эту тему, но обнаруживается ряд ньансов, о которых расскажу подобнее.

И так,

1. Скачиваем сам exe-шник memcached и распаковываем его в любое, удобное для Вас, место.

2. Скачиваем модуль memcached для PHP и распаковываем php_memcache.dll в каталог расширений PHP (обычно «ext/» в директории PHP), а также в php.ini дописываем следующую строку:

extension = php_memcache.dll

(это последняя на данный момент версия модуля, более ранние работать отказались)

Качаем здесь: http://www.mediafire.com/download.php?o60feet9sw71six

3. Устанавливаем memcached.

Подробности: дело в том, что данная версия (1.4.5) не устанавливается как служба Windows самостоятельно, отображается ошибка:

Failed to ignore SIGHUP: Result too large

Поэтому нам понадобится некий «NSSM — the Non-Sucking Service Manager» для решения этой проблемы.

Качаем здесь: http://nssm.cc/download/?page=download

Переходим в каталог с распакованным NSSM и из командной строки запускаем:

nssm.exe install memcached «путь_к_ранее_распакованному_файлу_memcached.exe»

4. Идем в Панель Управления — Администрирование — Службы и запускаем службу «memcached«, а также учим её запускаться автоматически с Windows.

5. Перезапускаем PHP (Apache)

Update: Исправил опечатку. Расширение memcached для PHP называется php_memcache.dll, а не php_memcached.dll. P.S: Спасибо хаму Николаю за его комментарий.

Установка Memcached PHP под Windows: 19 комментариев

  1. Сервис поднял, но на этом все остановилось
    OC WIN 2008 SERVER ; PHP Version 5.3.27.
    Не удается подключить php_memcached.dll.

    В чем может быть проблема ?

  2. vadimkrd, в посте опечатка: расширение memcached для PHP называется php_memcache.dll, а не php_memcached.dll.
    P.S: Спасибо хаму Николаю за его комментарий (комментарий удален).

  3. Art, рад, что статья оказалась полезной. = )

  4. Помогите настроить.
    Пробовал на Денвере и на XAMPP
    служба устанавливается, запускается с Windows, но не отображается в PHPInfo
    что это может быть?

  5. PHP Version 5.6.28

    System Windows NT SHARP 6.1 build 7601 (Windows 7 Professional Edition Service Pack 1) i586
    Build Date Nov 9 2016 06:33:44
    Compiler MSVC11 (Visual C++ 2012)
    Architecture x86
    Configure Command cscript /nologo configure.js «—enable-snapshot-build» «—disable-isapi» «—enable-debug-pack» «—without-mssql» «—without-pdo-mssql» «—without-pi3web» «—with-pdo-oci=c:\php-sdk\oracle\x86\instantclient_12_1\sdk,shared» «—with-oci8-12c=c:\php-sdk\oracle\x86\instantclient_12_1\sdk,shared» «—enable-object-out-dir=../obj/» «—enable-com-dotnet=shared» «—with-mcrypt=static» «—without-analyzer» «—with-pgo»

  6. Подключил:

    Скачиваем файл php_memcache-3.0.8-5.4-ts-vc9-x86.zip. Извлекаем из архива одну библиотечку php_memcache.dll и кладём её в каталог расширений PHP. В нашем случае это \xampp\php\ext, а в общем случае смотрим значение параметра «extension_dir» в php.ini. Затем в конец раздела «Dynamic Extensions» файла php.ini дописываем:

    extension=php_memcache.dll

    ;extension=php_soap.dll
    ;extension=php_sockets.dll
    ;extension=php_sqlite3.dll
    ;extension=php_sybase_ct.dll
    ;extension=php_tidy.dll
    ;extension=php_xmlrpc.dll
    ;extension=php_xsl.dll
    extension=php_memcache.dll

  7. В строке «Configuration File (php.ini) Path» PHPInfo отображается путь до ini-файла, который вы правите?

  8. Configuration File (php.ini) Path C:\Windows
    Loaded Configuration File T:\xampp\php\php.ini

    правлю T:\xampp\php\php.ini
    в директории Windows нет php.ini

  9. Пробовал копировать директорию Windows, не помогло.

  10. Виталий, правите правильно (T:\xampp\php\php.ini). Служба memcached запущена?

  11. Веб-сервер перезапускали?

    Алгоритм простой: установить сам memcached как службу Windows, подключить модуль в конфиг PHP и перезапустить веб-сервер.

  12. да, всё это сделал, перезапускал, после каждого изменения.
    под какой Windows был написан этот мануал?

  13. Вышеописанные действия производил на Windows 7. Правда сборки не использовал, сам собирал из свежих версий Apache, PHP и MySQL на тот момент.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *