• 在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
    还有其他共享知识于网络的朋友
  • 相关阅读:
    尽解powershell的workflow
    powershell玩转iis网站服务器
    Windows Terminal (Preview)治好了cmd,powershell的癌症
    博客园“NET Core 版博客系统”的运维浅见
    此贴告诉你:为啥shell脚本人,不建议学python
    关于revit的外部扩展存储
    Revit二次开发 屏蔽复制构件产生的重复类型提示窗
    xpath测试工具 xpath调试工具
    c# 防止重复运行 弹出已运行窗口并传递消息
    .NET APlayer播放器 demo
  • 原文地址:https://www.cnblogs.com/cndavidwang/p/3335846.html
Copyright © 2020-2023  润新知