Меню Рубрики

Модуль memcache для php windows

Memcached: установка и настройка

3 мин. 3905 10.10.2015

Данная статья носит характер «Скорой помощи». Развернутое описание конкретных действий, которые позволять установить и настроить memcached на сервере.

Начнем с определения.

Memcached — программное обеспечение, реализующее сервис кэширования данных в оперативной памяти на основе хеш-таблицы.

  • VPS, работающий на операционной системе Debian;
  • действующий сайт, к которому можно обратиться по FTP, SSH.

Начнем с последнего пункта. За счет запущенного интернет-ресурса (или его подобия) мы можем просто и быстро выяснить что у нас установлено (быть может, что среди прочего мы найдем и memcached). Создадим файл с названием info.php , в котором напишем:

Выполним код, обратившись в по адресу http://example.com/info.php :

Если среди всего прочего вы отыскали похожую запись — значит все в порядке и дело уже сделано. В противном случае — этот результат мы получим по итогам действий, описанных в данной публикации.

Установка сервера Memcached

Запустим установку командой

Ожидаем завершения установки. После проверим результаты командой netstat

В результате получаем:

Как мы видим, по умолчанию memcached по-умолчанию «слушает» порт 11211. Следовательно, через данный порт любой желающий сможет подключится и использовать наш memcached-сервер. Обезопасим себя, дадим такое право только своему серверу (localhost). Откроем файл /etc/memcached.conf через панель управления, либо через консоль:

Данный файл содержит подробные комментарии. Обязательно ознакомьтесь с ними.

Добавьте строку -l 127.0.0.1 .

Перезагружаем memcached-сервер командой:

И проверим еще раз:

В результате мы должны получить что-то вроде

Теперь memcached работает только на локальный сервер.

Установка memcache

Перечень команд (версия memcache может отличаться!):

Проверим скрипт, размещенный нами ранее по адресу http://example.com/info.php . Теперь мы должны найти там пункт Memcache.

Проверим работу Memcached

Создадим файл result.php и запустим его.

Результат работы скрипта:

Все так или почти так? Тогда все в порядке. Если нет — попробуйте повторить процедуры.

Опубликовано: 10 октября 2015 года, в рубрике «Серверная».

Поделитесь публикацией в социальных сетях

Источник

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

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

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

И так,

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

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

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

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

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

Failed to ignore SIGHUP: Result too large

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

Переходим в каталог с распакованным 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 комментариев

Сервис поднял, но на этом все остановилось
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
что это может быть?

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_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, не помогло.

Источник

Установка и настройка Memcached

В результате применения информации, данной в этой статье, вы сможете установить и настроить сервер Memcached и нужное расширение php для взаимодействия с ним, а также сервис анализа и статистики phpMemcachedAdmin

Установка будет происходить под Debian с сервером бекенда Apache. Если у вас рабочая связка NGINX + php5-fpm, просто заменяйте в командах apache2 на php5-fpm
Рабочий инструментарий: файловый менеджер для подключения по ssh со встроенным редактором Far Manager или putty.

Теперь допустим, у нас на этом хостинге уже есть сайт http://example.com

Для начала, нужно определить, как сконфигурирован PHP (вдруг Memcached уже установлен?)). Для этого в корне сайта временно создадим файл info.php с кодом

Теперь заглянем в него http://example.com/info.php

Если видим, что есть похожая запись, значит, всё в порядке, нужное расширение php установлено.
Если нет, значит, придётся поработать.

Как установить сервер Memcached

Перед установкой нужно обновить репозиторий

Теперь установим memcached и модуль php под него

Идёт установка. После её завершения проверяем, что получилось

В результате мы увидим что-то навроде

Теперь нужно перезагрузить Apache или php-fpm

Настройка Memcached

Теперь, когда сервер установлен, его надо поднастроить. Это не сложно и не займёт много времени

Закрываем Memcached от доступа извне

Как вы видите, memcached висит на 11211 порту по умолчанию. Так как в memcached нет встроенных механизмов аутентификации, то выходит, что любой может подсоединиться извне и использовать его в своих целях. Чтобы избежать этого, вы можете либо закрыть порт 11211 с помощью фаервола, либо сконфигурировать memcached-сервер, чтобы он мог использоваться только с локального хоста. Ниже описан последний способ.

    Открываем конфигурационный файл

В итоге мы должны увидеть подобное

Также, после всех изменений не забудьте перезапустить Apache

Увеличиваем объём рабочей памяти Memcached

По умолчанию, в Memcached отведено на использование 64 мегабайта оперативной памяти. Я увеличу до 1024, вы исходите из параметров вашего сервера

  1. Открываем конфигурационный файл
  2. Находим значение
  3. Меняем его на
  4. Перезапускаем memcached

Хранение сессий PHP в Memcached

Если одним сервером или кластером Memcached пользуются несколько разных сайтов, то они могут перехватывать сессии друг друга и получать доступ к аккаунтам их пользователей, что представляет собой потенциальную опасность

Можно ускорить php, перенеся хранилище сессий из hdd в оперативную память с помощью memcached

Вы должны знать, какое расширение php вы используете, memcache или memcached . Между ними есть разница, а уточнить, что стоит у вас, можно с помощью phpinfo(), тут есть тонкость в настройках, будьте внимательны

Способ для расширения memcache

  1. Открыть /etc/php5/mods-available/memcache.ini
  2. Добавить
  3. Перезагрузить apache

Способ для расширения memcacheD

  1. Открыть /etc/php5/mods-available/memcached.ini
  2. Добавить
  3. Перезагрузить apache

Проверка phpinfo

Теперь нужно проверить, что имеем на выходе. Для этого, открываем страницу с phpinfo() и ищем в коде session.save_path в столбце с локальными значениями. В значении должно быть tcp://127.0.0.1:11211 или 127.0.0.1:11211 . Если значения не поменялись, смотрите конфиг домена в Апаче (например тут: /etc/apache2/vhosts/sheensay/sheensay.ru.conf ), а ищем
php_admin_value session.save_path

Кстати, также вы можете воспользоваться директивой php_value , чтобы настраивать не весь сервер глобально, а только конкретные сайты. Для этого, вы можете отредактировать .htaccess в корне вашего сайта

Готовый рабочий конфигурационный файл Memcached

Вы также можете настроить всё под свои потребности, конфигурационный файл содержит подробные комментарии:

Установка расширения memcache

Ниже пошагово указаны команды, с помощью которых вы сможете установить php-расширение memcache из консоли вручную

Перезагрузим Apache, чтобы изменения вступили в силу

Как проверить работу Memcached

Создадим в корне сайта файлик memcachetest.php и запишем туда следующий код

Теперь осталось проверить результаты: http://example.com/memcachetest.php
Если всё сделали правильно, увидите что-то навроде

phpMemcachedAdmin — мониторинг, статистика и управление Memcached

phpMemcachedAdmin — это программное обеспечение, предоставляющее веб-интерфейс для мониторинга и управления сервисом Memcached на Linux. Позволяет видеть в реальном времени статистику для всех поддерживаемых сервером операций: get, set, delete, increment, decrement, reclaimed, evictions, cas, а также серверную статистику: сеть, позиции, рабочую версию вкупе с чартами и внутренней серверной конфигурацией.

Установка и настройка phpMemcachedAdmin

Тут можно пойти несколькими путями: выделить отдельный домен или поддомен под работу этого сервиса. А можно сделать поддиректорию в рабочем сайте и поставить пароль на неё или настроить ограничение по IP. Я опишу последний способ с установкой пароля на папку как более простой.

Итак, допустим, у нас есть сайт https://sheensay.ru

Создаём директорию и переходим в неё

Скачиваем последнюю версию дистрибутива

Распаковываем и удаляем архив с дистрибутивом

Рекурсивно выставляем нужные права доступа в текущей директории

Создаём .htaccess для авторизации по паролю (в строку 4 вносите свой логин)

Вводите свой пароль.

На этом всё. Логин на каталог memcachedmanager , если вы не меняли его. Открываете https://sheensay.ru/phpMemcachedAdmin (домен меняете на свой), вводите логин/пароль и пользуетесь

В заключение

Рекомендую ознакомиться со статьёй про memcached. В ней раскрыта общая информация о нём и некоторые тонкости работы.
На этом всё. Если что непонятно, задавайте вопросы в комментариях

Источник

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

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

  • Модули для python 3 windows
  • Модпак для wot blitz на windows 7
  • Модпак для world of tanks blitz windows
  • Модифицированный дистрибутив windows 7
  • Модифицированные темы для windows 7