Понадобилось установить 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: Спасибо хаму Николаю за его комментарий.
Сервис поднял, но на этом все остановилось
OC WIN 2008 SERVER ; PHP Version 5.3.27.
Не удается подключить php_memcached.dll.
В чем может быть проблема ?
vadimkrd, какую ошибку получаете?
vadimkrd, в посте опечатка: расширение memcached для PHP называется php_memcache.dll, а не php_memcached.dll.
P.S: Спасибо хаму Николаю за его комментарий (комментарий удален).
Спасибо большое за статью!
Art, рад, что статья оказалась полезной. = )
Помогите настроить.
Пробовал на Денвере и на XAMPP
служба устанавливается, запускается с Windows, но не отображается в PHPInfo
что это может быть?
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»
Виталий, php_memcache.dll подключили в php.ini?
Подключил:
Скачиваем файл 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
В строке «Configuration File (php.ini) Path» PHPInfo отображается путь до ini-файла, который вы правите?
Configuration File (php.ini) Path C:\Windows
Loaded Configuration File T:\xampp\php\php.ini
правлю T:\xampp\php\php.ini
в директории Windows нет php.ini
Пробовал копировать директорию Windows, не помогло.
Виталий, правите правильно (T:\xampp\php\php.ini). Служба memcached запущена?
да, запущена.
Веб-сервер перезапускали?
Алгоритм простой: установить сам memcached как службу Windows, подключить модуль в конфиг PHP и перезапустить веб-сервер.
да, всё это сделал, перезапускал, после каждого изменения.
под какой Windows был написан этот мануал?
Вышеописанные действия производил на Windows 7. Правда сборки не использовал, сам собирал из свежих версий Apache, PHP и MySQL на тот момент.
x64 или x32 ?
Windows 7 x64.