Ставим memcached на Mac OS X
Возникла в выходные необходимость поставить Memcached на Mac OS X. В рунете по этому поводу ничего не нашел, зато, роясь в поисках информации, наткнулся на хорошую статью на английском. Собственно ее перевод я и хочу опубликовать.
Подразумевается, что у вас на компьютере стоит MAMP, ставится он за пять минут, как любая другая программа.
Установка демона Memcached на Mac OS X
- Установите пакет Xcode Tools с вашего Mac OS X DVD или скачайте с Apple Developer Connection, нам понадобится GNU Compiler Collection (gcc), который идет Xcode Tools.
- Скачайте shell-скрипт с topfunky.net (зеркало).
- Установите права на скрипт и запустите его:
chmod 744 install-memcached.sh
sudo ./install-memcached.shЕсли скрипт не запустился и выдал ошибку, похожую на следующее: C compiler cannot create executables, убедитесь, что Xcode установился корректно.
- Следуя инструкции в конце скрипта, добавьте EVENT_NOKQUEUE=1 в файлы .bashrc или .profile, которые находятся в вашей домашней папке.
- Проверьте, что 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 - Отчистите папку, в которую вы скачивали install-memcached.sh, удалив созданную им папку src и сам файл скрипта.
Установка memcached-расширения для PHP
Вариант 1. Скачиваем скомпилированное расширение
Если у вас последняя версия MAMP с PHP 5.2.5 и вы пользуетесь Intel Mac, то вам достаточно проделать следующее:
- Скачать PHP 5.2.5 (Intel) memcache.so и переименовать в memcache.so;
- Переместить скачанный файл в папку /Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-[date]. [date] — значение в виде даты, оно зависит от даты установки MAMP.
Я использовал именно этот вариант, надеюсь, вам он также подойдет.
Вариант 2. Компилирование PECL Memcache расширения
Если у вас другая версия MAMP и PHP или вы использует PowerPC, вам нужно скомпилировать memcache.so под свою конфигурацию.
- Скачайте исхоный код PHP с php.net в папку /Applications/MAMP/bin/php5. Вы должны скачать версию, соответствующую вашей версии MAMP, которую вы можете узнать по адресу http://localhost:8888/MAMP/info.php.
- Создайте папку include в php5.
- Разпакуйте архив с исходными кодами и разместите его в /Applications/MAMP/bin/php5/include.
- Переименуйте php source directory в просто php (должно получиться /Applications/MAMP/bin/php5/include/php).
- В Терминале выполните следующие команды для компиляции расширения:
cd /Applications/MAMP/bin/php5/include/php
./configure
cd /Applications/MAMP/bin/php5/bin
./pecl i memcache - После этого создастся новая директория в папке /Applications/MAMP/bin/php5/lib/php/extensions. В ней должно быть 2 других директории, отличающиеся датой в конце имени, примерно вот так — no-debug-non-zts-20050922. Откройте папку с текущей датой на конце и переместите файл memache.so в другую папку, в которой уже находится много других файлов *.so.
- Удалите пустую папку no-debug-non-zts-[date] в которой находился файл memcache.so.
Подключение memcached-расширения
- Откройте файл /Applications/MAMP/conf/php5/php.ini и добавьте в него extension=memcache.so в раздел ; Extensions.
- Перезапустите MAMP из приложения или используя виджет.
- Проверьте, работает ли Memcache-расширение на странице http://localhost:8888/MAMP/info.php
Все! Теперь у вас стоит полноценный и рабочий Memcache!
Старт и остановка Memcache-демона вместе с MAMP
Теперь, когда Memcache установлен и доступен из MAMP, нужно настроить запуск и остановку memcache-демона.
- Скачайте 4 скрипта ниже в папку /Applications/MAMP/bin, заменив существующие startApache.sh и stopApache.sh.
- Установите права на выполнение скриптов для вашего пользовател.
chmod 775 *.sh
- Остановите и запустите MAMP.
