在Mac OS X中完善PHP环境:memcache、mcrypt、igbinary
本文环境: Mac OS X 10.8.5 Xcode 5.0
Mac OS X升级到10.8.5之后,内置的Apache升级到2.2.24,PHP升级到了5.3.26。本文以此环境为基础。
本文简介安装memcache、mcrypt、igbinary。
一、首先准备Xcode和autoconf。
安装的过程需要Xcode的命令行工具,编译PHP扩展需要有autoconf。
Xcode是苹果公司提供的免费开发工具,请从App Store中搜索安装。完成安装之后,请通过Xcode的菜单【Xcode】-【Preferences...】打开对话框并切换到【Downloads】页,下载Command Line Tools。
autoconf请从如下地址下载:
http://ftp.gnu.org/gnu/autoconf/
提醒:
本文涉及的所有下载和编译安装,建议把源代码存放到路径不存在空格(和其他特殊符号)的位置,以避免执行make install时发生意外。
解压并进入autoconf目录,依次执行如下命令:
./configure make sudo make install
二、安装memcache
memcached是一套高性能的内存对象缓存系统。在PHP中,有两套扩展可以用来支持memcached。其中一套是原生的扩展,称为“memcache”,下面介绍的就是这个扩展。还有另外一个套扩展是基于libmemcached库的,功能更强一些。
10.8的mac中,可以在/usr/bin/路径下找到memcached这个文件,/System/Library/LaunchDaemons/路径下还有个com.danga.memcached.plist文件。打开com.danga.memcached.plist文件,删除掉如下两行:
1 <key>Disable</key> 2 <true/>
保存文件之后重新启动,打开终端执行:
1 #memcached的默认端口为11211 2 telnet 127.0.0.1 11211 3 #stats命令显示memcached的各种状态信息 4 stats 5 #quit退出与memcached的连接 6 quit
如果一切正常,开始安装memcache的PHP扩展。请从如下地址下载:
http://pecl.php.net/package/memcache
解包下载的文件之后进入文件目录,请依次执行如下命令:
phpize ./configure make sudo make install
如果看到如下结果:
Installing shared extensions: /usr/lib/php/extensions/no-debug-non-zts-20090626/
说明安装正常,接下去打开/etc/php.ini文件,添加如下行:
1 extension=memcache.so
重启apache之后,看一下phpinfo结果:
三、安装mcrypt
Mcrypt是一个功能强大的加密算法扩展库,它持20多种加密算法和8种加密模式。Mac OS X中,需要先安装这个库然后再安装PHP扩展。
首先是下载扩展库的源文件,下载地址在这里:
http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/
下载到本地之后,解压缩,进入目录,请依次执行如下命令:
./configure --disable-posix-threads --enable-static make sudo make install
安装好扩展库之后,请下载PHP的源代码。Mac OS X 10.8.5中的PHP是5.3.26版本的,下载地址如下(如果您的PHP版本不同,请自行下载相应版本的代码):
http://cn2.php.net/get/php-5.3.26.tar.bz2/from/a/mirror
完成下载之后,请解包进入代码目录,再cd ext/mcrypt/,然后依次执行如下命令:
phpize ./configure make sudo make install
正确完成安装之后,请编辑/etc/php.ini文件,加入如下配置行:
1 extension=mcrypt.so
很熟悉是不是?重启apache之后,再次用phpinfo进行检查:
四、安装igbinary
用igbinary实现序列化和反序列化,效率更高,占用的字节数更少,性能远远高于PHP自带的序列化功能。有两个下载地址:
#PECL官方的地址,这里提供1.1.1版本(稳定版)下载 http://pecl.php.net/package/igbinary #另外一个地址,提供1.1.2版本(开发版)下载 https://nodeload.github.com/phadej/igbinary/zip/master
下载之后,依旧是很熟悉的路数:解包、进入目录,下列命令步骤:
phpize ./configure make sudo make install
编辑/etc/php.ini添加如下配置行:
1 extension=igbinary.so
重启apache,检查一下效果:
可以改动一下PHP的如下配置行:session.serialize_handler = php,修改成:
1 session.serialize_handler = igbinary
另外,推荐一篇关于igbinary性能测试的文章:
http://www.ooso.net/archives/538
好了,就这些。
总结博客的过程,就是重新学习的过程。
感谢如下网友:
秦歌、yifangyou、Volcano
还有其他共享知识于网络的朋友