本文环境:
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的更多相关文章

  1. 【转】Mac OS X 中 Zsh 下 PATH 环境变量的正确设置

    在 Mac OS X 中使用 zsh,环境变量 PATH 一不小心就会变得很紊乱,表现为自己设置的路径总是被放到系统路径之后,部分路径还会有重复.这是我们不太了解 zsh 启动时加载文件的顺序和 Ma ...

  2. Mac OS X 中一些常用的命令行技巧

    一.网络设置相关 1.网卡的物理地址的动态重置 出于某些需求,例如网络中的 IP 地址或网络帐号与网卡物理地址绑定,使得多个设备无法切换上网,可尝试临时更改物理地址.不过,系统偏好设置是不能修改网卡物 ...

  3. mac os 下搭建android开发环境

    mac os 下搭建android开发环境 周银辉 mac os 下搭建android环境比较方便, 如下几个步骤: 1,安装jdk 先搞清楚自己是否已经安装,在命令行下:java -version, ...

  4. 在Mac OS X中使用VIM开发STM32(2)

    本文原创于http://www.cnblogs.com/humaoxiao,非法转载者请自重! 在我先前的博文⎣在Mac OS X中使用VIM开发STM32(1)⎤中,我们安装完成了MACVIM,这一 ...

  5. 在Mac OS X中使用VIM开发STM32(1)

       本文原创于http://www.cnblogs.com/humaoxiao,非法转载者请自重!     在我先前的博文⎣在Mac OS X中搭建STM32开发环境⎤中,我们在Mac中DIY出了最 ...

  6. mac OS X下Java项目环境搭建+IntelliJ IDEA Jrebel插件安装与破解+Office 2016破解版安装

    一.mac OS X下Java项目环境搭建 因为某些原因新入手了台最新版的MacBook Pro,意味着今天要花一天时间安装各种软件以及项目环境搭建╮(╯▽╰)╭ 项目环境搭建步骤: 1.安装jdk ...

  7. Mac OS X中,有三种方式来实现启动项的配置

    Mac OS x 启动项设置 Mac OS X的启动原理: 1,mac固件激活,初始化硬件,加载BootX引导器. 2,BootX加载内核与内核扩展(kext). 3,内核启动launchd进程. 4 ...

  8. 在Mac OS X中配置Apache + PHP + MySQL

    在Mac OS X中配置Apache + PHP + MySQL Mac OS X 内置Apache 和 PHP,使用起来非常方便.本文以Mac OS X 10.6.3和为例.主要内容包括: 启动Ap ...

  9. 在 Mac OS X 中建立加密的 Zip 压缩 -- 让机密资料加上密码

    在 Mac OS X 中要压缩档案的話,基本上就用滑鼠点右鍵选「压缩...」就可以制作 Zip 格式的压缩档,很方便.但如果是机密的资料要透过 Email 等管道传送时,常常会需要建立加密的 Zip ...

随机推荐

  1. cache2go源码最后一讲 - examples

    先看一下我们讲到哪里了: cache2go的源码前面我们已经讲完了cacheitem和cachetable的实现,今天cahce和examples会一起讲完~ 1.cache.go源码 ​      ...

  2. 痞子衡嵌入式:通用NOR接口标准(CFI-JESD68)及SLC Parallel NOR简介

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是CFI标准及SLC Parallel NOR. NOR Flash是嵌入式世界里最常见的存储器,常常内嵌在微控制器里(Parallel型 ...

  3. JDK源码分析(三)—— LinkedList

    参考文档 JDK源码分析(4)之 LinkedList 相关

  4. .Net Core 实践 - 使用log4net记录日志(3)— log4net向ElasticSearch写日志

    demo地址:https://github.com/PuzzledAlien/log4net_demo/tree/master/DotNetCoreConsole_V3 Windows 10 安装部署 ...

  5. Android开发——绘图基础

    前言: Android中绘图基本三个类,分别是Paint(画笔),Path(路径),Canvas(画布),这三个也是自定义View经常会使用到的类 个人理解,Canvas画布这个翻译其实不太好,这个类 ...

  6. 我永远爱着OOP——第二单元作业总结

    第二单元的电梯真是愉♂快呢,多线程编程作为java编程OOP中的重要组成部分,通过这一个单元的学习,我也是有了很多全新的认识 那么下面就先例行一下公事 三次作业分析 第五次作业 设计分析 实现的电梯是 ...

  7. 深入理解Java内存(图解堆栈)

    深入理解Java内存(图解)--转载 深入理解Java内存(图解) 这篇文章是转自http://blog.csdn.net/shimiso/article/details/8595564博文,自己对其 ...

  8. MongoDB 基本操作和聚合操作

    一 . MongoDB 基本操作 基本操作可以简单分为查询.插入.更新.删除. 1 文档查询 作用 MySQL SQL  MongoDB  所有记录  SELECT * FROM users;  db ...

  9. Oracle database link中查询会开启事务吗?

    关于oracle database link,使用database link相关的查询语句是否会开启事务呢?我们知道,在数据库中一个简单的SELECT查询语句不会产生事务(select for upd ...

  10. [20190401]跟踪dbms_lock.sleep调用.txt

    [20190401]跟踪dbms_lock.sleep调用.txt --//自己在semtimedop函数调用理解错误,加深理解,跟踪dbms_lock.sleep调用的情况. 1.环境:SCOTT@ ...