一、背景:
我的系统环境:OS X 10.10.3,XAMPP for OS X 5.6.8-0(PHP 5.6.8),现需要安装配置 memcache。
一、什么是 memcache ?
Memcached是一个免费开源的,高性能的,具有分布式对象的缓存系统,它可以用来保存一些经常存取的对象或数据,保存的数据像一张巨大的HASH表,该表以Key-value对的方式存在内存中。
二、什么是 Homebrew ?
Homebrew 是一个软件包管理系统。Mac OS X 是基于Unix 的操作系统,可以安装大部分为 Unix / Linux 开发的软件。然而,如果只是以使用为目的,对每个软件都进行手工编译不是很方便,所以需要软件包管理系统的辅助。
三、安装 Homebrew:
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
检查是否安装成功
$ brew -v
Homebrew 0.9.5
四、安装服务器端缓存系统 Memcached:
$ brew install memcached
五、启动 Memcached:
$ /usr/local/opt/memcached/bin/memcached &
六、测试 Memcached:
$ telnet localhost 11211
Trying ::1...
Connected to localhost.
Escape character is '^]'.
stats
STAT pid 3391
......
END
七、下载客户端 memcache:
下载地址:http://pecl.php.net/package/memcache
解包:
$ tar zxvf memcache-3.0.8.tgz
八、安装 memcache:
$ /Applications/XAMPP/xamppfiles/bin/phpize-5.5.1
$ MACOSX_DEPLOYMENT_TARGET=10.7 CFLAGS='-fgnu89-inline' LDFLAGS='-fgnu89-inline' CXXFLAGS='-fgnu89-inline' ./configure -with-zlib-dir=/usr/local/opt/zlib --with-php-config=/Applications/XAMPP/xamppfiles/bin/php-config
$ sudo make
$ sudo make install
九、配置 php:
编辑 php.ini 文件,增加以下内容:
extension_dir = "/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20121212/"
extension = "memcache.so"
检查 php 配置:
$ ./php -m
[PHP Modules]
......
memcache
......
查询 phpinfo
十、开机自启动 memcached 的方法:
<pre name="code" class="plain">$ sudo vim /Library/LaunchDaemons/memcached.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>memcached.plist</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/opt/memcached/bin/memcached</string>
<string>-l</string>
<string>localhost</string>
<string>-m</string>
<string>16</string>
<string>-u</string>
<string>root</string>
</array>
<key>KeepAlive</key>
<true/>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
//检查文件格式是否正确
sudo chown root:wheel memcached.plist
sudo plutil -lint memcached.plist
sudo launchctl load -w memcached.plist