OldEr'S Blog

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

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

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

И так,

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

http://d.older.su/memcached/memcached-1.4.5-x86.zip (параноики и любители свежих бета-версий могут обратиться к гуглу)

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

extension = php_memcache.dll

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

Качаем здесь: http://www.mediafire.com/download.php?o60feet9sw71six
Или у меня: http://d.older.su/memcached/php_memcache-2.2.6-5.3-vc9-x64.zip

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
Или у меня: http://d.older.su/memcached/nssm-2.10.zip

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

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

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

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

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

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

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

  2. vadimkrd, какую ошибку получаете?

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

  4. Спасибо большое за статью!

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

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

  7. 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”

  8. Виталий, php_memcache.dll подключили в php.ini?

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

    Скачиваем файл 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

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

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

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

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

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

  14. да, запущена.

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

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

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

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

  18. x64 или x32 ?

  19. Windows 7 x64.


Оставить комментарий


Включите изображения, чтобы увидеть вопрос *

Нет обратных ссылок на эту запись.