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

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

Visual Studio Code,也称为 VS Code,是一个免费的源代码编辑器 - 或集成开发环境 (IDE) - 可用于所有主要操作系统。 VS Code 拥有针对多种编程语言的大量扩展,可以轻松编写

本教程演示了如何使用PHP有效地处理XML文档。 XML(可扩展的标记语言)是一种用于人类可读性和机器解析的多功能文本标记语言。它通常用于数据存储

字符串是由字符组成的序列,包括字母、数字和符号。本教程将学习如何使用不同的方法在PHP中计算给定字符串中元音的数量。英语中的元音是a、e、i、o、u,它们可以是大写或小写。 什么是元音? 元音是代表特定语音的字母字符。英语中共有五个元音,包括大写和小写: a, e, i, o, u 示例 1 输入:字符串 = "Tutorialspoint" 输出:6 解释 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。总共有 6 个元

JWT是一种基于JSON的开放标准,用于在各方之间安全地传输信息,主要用于身份验证和信息交换。1.JWT由Header、Payload和Signature三部分组成。2.JWT的工作原理包括生成JWT、验证JWT和解析Payload三个步骤。3.在PHP中使用JWT进行身份验证时,可以生成和验证JWT,并在高级用法中包含用户角色和权限信息。4.常见错误包括签名验证失败、令牌过期和Payload过大,调试技巧包括使用调试工具和日志记录。5.性能优化和最佳实践包括使用合适的签名算法、合理设置有效期、

如果您是一位经验丰富的 PHP 开发人员,您可能会感觉您已经在那里并且已经完成了。您已经开发了大量的应用程序,调试了数百万行代码,并调整了一堆脚本来实现操作

静态绑定(static::)在PHP中实现晚期静态绑定(LSB),允许在静态上下文中引用调用类而非定义类。1)解析过程在运行时进行,2)在继承关系中向上查找调用类,3)可能带来性能开销。

Python通过其易学性和强大功能,是初学者的理想编程入门语言。其基础包括:变量:用于存储数据(数字、字符串、列表等)。数据类型:定义变量中数据的类型(整数、浮点数等)。运算符:用于数学运算和比较。控制流:控制代码执行流(条件语句、循环)。
