在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文件,删除掉如下两行:
<key>Disable</key>
<true/>
保存文件之后重新启动,打开终端执行:
#memcached的默认端口为11211
telnet 127.0.0.1
#stats命令显示memcached的各种状态信息
stats
#quit退出与memcached的连接
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文件,添加如下行:
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文件,加入如下配置行:
extension=mcrypt.so
很熟悉是不是?重启apache之后,再次用phpinfo进行检查:

四、安装igbinary
用igbinary实现序列化和反序列化,效率更高,占用的字节数更少,性能远远高于PHP自带的序列化功能。有两个下载地址:
#PECL官方的地址,这里提供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添加如下配置行:
extension=igbinary.so
重启apache,检查一下效果:

可以改动一下PHP的如下配置行:session.serialize_handler = php,修改成:
session.serialize_handler = igbinary
另外,推荐一篇关于igbinary性能测试的文章:
http://www.ooso.net/archives/538
好了,就这些。
总结博客的过程,就是重新学习的过程。
感谢如下网友:
秦歌、yifangyou、Volcano
还有其他共享知识于网络的朋友
在Mac OS X中完善PHP环境:memcache、mcrypt、igbinary的更多相关文章
- 【转】Mac OS X 中 Zsh 下 PATH 环境变量的正确设置
在 Mac OS X 中使用 zsh,环境变量 PATH 一不小心就会变得很紊乱,表现为自己设置的路径总是被放到系统路径之后,部分路径还会有重复.这是我们不太了解 zsh 启动时加载文件的顺序和 Ma ...
- Mac OS X 中一些常用的命令行技巧
一.网络设置相关 1.网卡的物理地址的动态重置 出于某些需求,例如网络中的 IP 地址或网络帐号与网卡物理地址绑定,使得多个设备无法切换上网,可尝试临时更改物理地址.不过,系统偏好设置是不能修改网卡物 ...
- mac os 下搭建android开发环境
mac os 下搭建android开发环境 周银辉 mac os 下搭建android环境比较方便, 如下几个步骤: 1,安装jdk 先搞清楚自己是否已经安装,在命令行下:java -version, ...
- 在Mac OS X中使用VIM开发STM32(2)
本文原创于http://www.cnblogs.com/humaoxiao,非法转载者请自重! 在我先前的博文⎣在Mac OS X中使用VIM开发STM32(1)⎤中,我们安装完成了MACVIM,这一 ...
- 在Mac OS X中使用VIM开发STM32(1)
本文原创于http://www.cnblogs.com/humaoxiao,非法转载者请自重! 在我先前的博文⎣在Mac OS X中搭建STM32开发环境⎤中,我们在Mac中DIY出了最 ...
- mac OS X下Java项目环境搭建+IntelliJ IDEA Jrebel插件安装与破解+Office 2016破解版安装
一.mac OS X下Java项目环境搭建 因为某些原因新入手了台最新版的MacBook Pro,意味着今天要花一天时间安装各种软件以及项目环境搭建╮(╯▽╰)╭ 项目环境搭建步骤: 1.安装jdk ...
- Mac OS X中,有三种方式来实现启动项的配置
Mac OS x 启动项设置 Mac OS X的启动原理: 1,mac固件激活,初始化硬件,加载BootX引导器. 2,BootX加载内核与内核扩展(kext). 3,内核启动launchd进程. 4 ...
- 在Mac OS X中配置Apache + PHP + MySQL
在Mac OS X中配置Apache + PHP + MySQL Mac OS X 内置Apache 和 PHP,使用起来非常方便.本文以Mac OS X 10.6.3和为例.主要内容包括: 启动Ap ...
- 在 Mac OS X 中建立加密的 Zip 压缩 -- 让机密资料加上密码
在 Mac OS X 中要压缩档案的話,基本上就用滑鼠点右鍵选「压缩...」就可以制作 Zip 格式的压缩档,很方便.但如果是机密的资料要透过 Email 等管道传送时,常常会需要建立加密的 Zip ...
随机推荐
- SmartSql 更新日志
SmartSql 更新历史记录 3.7.0 support cross SqlMap reference for #30 modifying Statement.Ref for delay depen ...
- 【SpringCloud】Zuul在何种情况下使用Hystrix
首先,引入spring-cloud-starter-zuul之后会间接引入: hystrix依赖已经引入,那么何种情况下使用hystrix呢? 在Zuul的自动配置类ZuulServerAutoCon ...
- c#连接oracle数据库底层方法
using Oracle.ManagedDataAccess.Client;using System;using System.Collections;using System.Collections ...
- Mysql中的WITH ROLLUP用法
1.WITH ROLLUP:在group分组字段的基础上再进行统计数据. 例子:首先在name字段上进行分组,然后在分组的基础上进行某些字段统计,表结构如下: CREATE TABLE `test` ...
- Python全栈开发之---assert断言
一.python assert的作用: 根据Python 官方文档解释(https://docs.python.org/3/reference/simple_stmts.html#assert), & ...
- ios屏幕怎么投屏到电脑显示器
iphone在国内一直都很受欢迎,为什么这么受欢迎呢?其实苹果手机操作系统非常的新颖,让人对手机有了重新的认识.但是ios屏幕怎么投屏到电脑显示器.感兴趣的一起阅读下面的内容吧! 使用工具: 苹果手机 ...
- 广州.NET微软技术俱乐部 - 新秀计划
本文正在写草稿中, 发布时会在群里单独通知
- BIM与GIS
BIM行业是建筑与IT结合而形成的一个新兴行业,既然能说是行业,说明它包含的内容非常丰富,懂一点和完全懂是两码事,就好像一滴水和一片大海的范围一样.现在国内有很多高校开设了BIM专业,并对口招收了学生 ...
- Windchill基本业务对象-文档
文档的类型: (1)WTDocumetManster :是文档的主要信息,一个文档只有一条记录:(2)WTDocument:是文档小版本记录,每一个文档小版本都有一条记录: 备注:(1)文档大版本记录 ...
- centos7中/tmp文件保存天数
不要在/tmp目录下保存文件,该目录会定期清理文件 /tmp默认保存10天 /var/tmp默认保存30天 配置文件:/usr/lib/tmpfiles.d/tmp.conf 默认配置文件:# Thi ...