28
10/2008

Ставим memcached на Mac OS X

The English version of this post

Возникла в выходные необходимость поставить Memcached на Mac OS X. В рунете по этому поводу ничего не нашел, зато, роясь в поисках информации, наткнулся на хорошую статью на английском. Собственно ее перевод я и хочу опубликовать.

Подразумевается, что у вас на компьютере стоит MAMP, ставится он за пять минут, как любая другая программа.

Установка демона Memcached на Mac OS X

  1. Установите пакет Xcode Tools с вашего Mac OS X DVD или скачайте с Apple Developer Connection, нам понадобится GNU Compiler Collection (gcc), который идет Xcode Tools.
  2. Скачайте shell-скрипт с topfunky.net (зеркало).
  3. Установите права на скрипт и запустите его:
    chmod 744 install-memcached.sh 
    sudo ./install-memcached.sh

    Если скрипт не запустился и выдал ошибку, похожую на следующее: C compiler cannot create executables, убедитесь, что Xcode установился корректно.

  4. Следуя инструкции в конце скрипта, добавьте EVENT_NOKQUEUE=1 в файлы .bashrc или .profile, которые находятся в вашей домашней папке.
  5. Проверьте, что memcache установился. Для этого закройте текущее окно терминала и откройте новое, в котором наберите memcached -h. Вы должны увидеть что-то похожее на это:
    muxx:~ muxx$ memcached -h
    memcached 1.1.12
    -p port number to listen on
    -l interface to listen on, default is INDRR_ANY
    -d run as a daemon
    -r maximize core file limit
    -u assume identity of (only when run as root)
    -m max memory to use for items in megabytes, default is 64 MB
    -M return error on memory exhausted (rather than removing items)
    -c max simultaneous connections, default is 1024
    -k lock down all paged memory
    -v verbose (print errors/warnings while in event loop)
    -vv very verbose (also print client commands/reponses)
    -h print this help and exit
    -i print memcached and libevent license
    -P save PID in , only used with -d option
  6. Отчистите папку, в которую вы скачивали install-memcached.sh, удалив созданную им папку src и сам файл скрипта.

Установка memcached-расширения для PHP

Вариант 1. Скачиваем скомпилированное расширение

Если у вас последняя версия MAMP с PHP 5.2.5 и вы пользуетесь Intel Mac, то вам достаточно проделать следующее:

  1. Скачать PHP 5.2.5 (Intel) memcache.so и переименовать в memcache.so;
  2. Переместить скачанный файл в папку /Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-[date]. [date] — значение в виде даты, оно зависит от даты установки MAMP.

Я использовал именно этот вариант, надеюсь, вам он также подойдет.

Вариант 2. Компилирование PECL Memcache расширения

Если у вас другая версия MAMP и PHP или вы использует PowerPC, вам нужно скомпилировать memcache.so под свою конфигурацию.

  1. Скачайте исхоный код PHP с php.net в папку /Applications/MAMP/bin/php5. Вы должны скачать версию, соответствующую вашей версии MAMP, которую вы можете узнать по адресу http://localhost:8888/MAMP/info.php.
  2. Создайте папку include в php5.
  3. Разпакуйте архив с исходными кодами и разместите его в /Applications/MAMP/bin/php5/include.
  4. Переименуйте php source directory в просто php (должно получиться /Applications/MAMP/bin/php5/include/php).
  5. В Терминале выполните следующие команды для компиляции расширения:
    cd /Applications/MAMP/bin/php5/include/php
    ./configure
    cd /Applications/MAMP/bin/php5/bin
    ./pecl i memcache
  6. После этого создастся новая директория в папке /Applications/MAMP/bin/php5/lib/php/extensions. В ней должно быть 2 других директории, отличающиеся датой в конце имени, примерно вот так — no-debug-non-zts-20050922. Откройте папку с текущей датой на конце и переместите файл memache.so в другую папку, в которой уже находится много других файлов *.so.
  7. Удалите пустую папку no-debug-non-zts-[date] в которой находился файл memcache.so.

Подключение memcached-расширения

  1. Откройте файл /Applications/MAMP/conf/php5/php.ini и добавьте в него extension=memcache.so в раздел ; Extensions.
  2. Перезапустите MAMP из приложения или используя виджет.
  3. Проверьте, работает ли Memcache-расширение на странице http://localhost:8888/MAMP/info.php

Все! Теперь у вас стоит полноценный и рабочий Memcache!

Старт и остановка Memcache-демона вместе с MAMP

Теперь, когда Memcache установлен и доступен из MAMP, нужно настроить запуск и остановку memcache-демона.

  1. Скачайте 4 скрипта ниже в папку /Applications/MAMP/bin, заменив существующие startApache.sh и stopApache.sh.
  2. Установите права на выполнение скриптов для вашего пользовател.
    chmod 775 *.sh
  3. Остановите и запустите MAMP.
Теперь вы можете обращаться в memcache через порты с 11211 по 11221!
Оставить comment
Показать другие цифры

В тексте комментария можно использовать теги <b><i><u><s><sup><code><pre>.
Адреса сайтов автоматически становятся ссылками.

_