yishen 发表于 2015-8-25 15:17:25

在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
还有其他共享知识于网络的朋友
页: [1]
查看完整版本: 在Mac OS X中完善PHP环境:memcache、mcrypt、igbinary