网站加速 PHP 缓冲的免费实现方法


Posted in PHP onOctober 09, 2006

文/徐永久

我们知道 Zend 有免费的优化引擎针对 PHP 而作,但是 FreeLAMP 这次采用的是一个叫做 PHP Accelerator 的缓冲产品。

我们在 “LAMP 加速” 这篇文章中阐述过加速的几种办法,其中提到了 PHP Accelerator,它的安装方法十分简单,但是需要去他的网站获取一个激活键。

  

一、下载:

www.php-accelerator.co.uk/download.php

二、获取激活键并安装:

www.php-accelerator.co.uk/activate.php

注册自己的 SERVER_NAME 后,你会得到下面的提示:

Your key for www.freelamp.com is 8edfd13946c96309244fcca309415902

Now you must set the key for www.freelamp.com in your site configuration.

For single domains not using virtual hosts

The key can be set in the php.ini file as follows:

# PHPA key for www.freelamp.com

#

phpa.registration_key = 8edfd13946c96309244fcca309415902

For domains setup as a virtual host

Add the key to the domain specific section for your web server.

# www.freelamp.com VHost entry

#

< VirtualHost 10.20.30.40>

ServerName www.freelamp.com

# ... (other vhost specific config)

# php settings

php_value phpa.registration_key 8edfd13946c96309244fcca309415902

# also enable phpa if set to off in the php.ini (the default is on)

php_value phpa 1

< /VirtualHost>

具体的 phpa 值的设置,可以参考软件随带的 CONFIGURATION 文件的配置。

由于大多数网站是虚拟主机配置,所以,建议采用 php_value phpa. 的方式设置。

例如:

php_value phpa.tweaks off

php_value phpa.cache_dir /tmp

php_value phpa.file_perms 400

php_value phpa.ignore_files "/index.php, /a/test.php"

# php_value phpa.ignore_dirs "/data/WWW/site1/,/cache/"

php_value phpa.shm_size 8

php_value phpa.shm_key 0xc0deb00

php_value phpa.shm_perms 664

三、设置 php.ini

假设我们把下载后的文件解开到 /usr/local/php ,那么在 php.ini 中加入:

zend_extension=/usr/local/php/php_accelerator_1.2p2.so

并注释掉原来的 Zend 优化引擎:

# zend_extension=/usr/local/Zend/lib/ZendOptimizer.so

重新启动 Apache ,用浏览器浏览一个任意 PHP 页面可以看到 /tmp 下面生成了一些 phpa 开头的文件。另外一个检查缓冲是否起作用的办法是看 phpinfo() 的输出,原来的 Zend 优化引擎的说明部分,已经被显示成:

This program makes use of the Zend Scripting Language Engine:

Zend Engine v1.1.1, Copyright (c) 1998-2001 Zend Technologies

with the PHP Accelerator v1.2p2, Copyright (c) 2001-2002, by Nick Lindridge

需要说明的是,安装 INSTALL 安装说明上的办法,其中的 .so 文件和真实的 .so 文件有差异,所以,你在安装的时候需要注意到这个区别。

四、调整缓冲大小

PHP Accelerator 提供了缓冲管理命令:

phpa_cache_admin -mv 观察内存的缓冲情况

phpa_cache_admin -fv 观察文件的缓冲情况

phpa_cache_admin -k 设置缓冲大小

五、总结

该软件提供的 INSTALL 文件阐述了关于性能上的一些说法,笔者不在这里赘述。

需要说明的是,FreeLAMP.com 的文章目前不是 PHP 架构的,但是论坛系统是 PHP 架构的,所以性能上的提升只会是论坛系统的提升。(FreeLAMP:徐永久 提供本文)

PHP 相关文章推荐
如何使用脚本模仿登陆过程
Nov 22 PHP
PHP用SAX解析XML的实现代码与问题分析
Aug 22 PHP
LotusPhp笔记之:基于ObjectUtil组件的使用分析
May 06 PHP
PHP利用REFERER根居访问来地址进行页面跳转
Sep 28 PHP
php常用数学函数汇总
Nov 21 PHP
PHP在innodb引擎下快速代建全文搜索功能简明教程【基于xunsearch】
Oct 14 PHP
CodeIgniter框架常见用法工作总结
Mar 16 PHP
一次因composer错误使用引发的问题与解决
Mar 06 PHP
使用ucenter实现多站点同步登录的讲解
Mar 21 PHP
PHP MVC框架中类的自动加载机制实例分析
Sep 18 PHP
PHP 超级全局变量相关总结
Jun 30 PHP
KindEditor在php环境下上传图片功能集成的方法示例
Jul 20 PHP
Windows下PHP的任意文件执行漏洞
Oct 09 #PHP
通过对服务器端特性的配置加强php的安全
Oct 09 #PHP
用Zend Encode编写开发PHP程序
Oct 09 #PHP
在php中使用sockets:从新闻组中获取文章
Oct 09 #PHP
15个小时----从修改程序到自己些程序
Oct 09 #PHP
用PHP编程开发“虚拟域名”系统
Oct 09 #PHP
在Windows中安装Apache2和PHP4的权威指南
Oct 09 #PHP
You might like
require(),include(),require_once()和include_once()区别
2008/03/27 PHP
国外比较好的几个的Php开源建站平台小结
2010/04/22 PHP
Array of country list in PHP with Zend Framework
2011/10/17 PHP
php获取图片信息的方法详解
2015/12/10 PHP
Nigma vs Alliance BO5 第四场2.14
2021/03/10 DOTA
JQuery与iframe交互实现代码
2009/12/24 Javascript
jquery 页眉单行信息滚动显示实现思路及代码
2014/06/26 Javascript
JavaScript设计模式之抽象工厂模式介绍
2014/12/28 Javascript
jQuery源码解读之hasClass()方法分析
2015/02/20 Javascript
JavaScript将字符串转换成字符编码列表的方法
2015/03/19 Javascript
jquery使用each方法遍历json格式数据实例
2015/05/18 Javascript
AngularJS教程之简单应用程序示例
2016/08/16 Javascript
bootstrap的3级菜单样式,支持母版页保留打开状态实现方法
2016/11/10 Javascript
Angular客户端请求Rest服务跨域问题的解决方法
2017/09/19 Javascript
对layui中表单元素的使用详解
2018/08/15 Javascript
Vue Echarts实现可视化世界地图代码实例
2019/05/07 Javascript
koa-router路由参数和前端路由的结合详解
2019/05/19 Javascript
Javascript ParentNode和ChildNode接口原理解析
2020/03/16 Javascript
Node.js path模块,获取文件后缀名操作
2020/11/07 Javascript
原生JavaScript实现幻灯片效果
2021/02/19 Javascript
[04:49]期待西雅图之战 2016国际邀请赛中国区预选赛WINGS战队赛后采访
2016/06/29 DOTA
[01:00:11]DOTA2-DPC中国联赛 正赛 CDEC vs DLG BO3 第一场 2月7日
2021/03/11 DOTA
Python 多核并行计算的示例代码
2017/11/07 Python
python 通过logging写入日志到文件和控制台的实例
2018/04/28 Python
python中的插值 scipy-interp的实现代码
2018/07/23 Python
Python Django切换MySQL数据库实例详解
2019/07/16 Python
css3实现一款模仿iphone样式的注册表单
2013/03/20 HTML / CSS
CSS3实现各种图形的示例代码
2016/10/19 HTML / CSS
计算机应用毕业生自荐信
2013/10/23 职场文书
自我评价中英文语句
2013/11/30 职场文书
美术教师自我鉴定
2014/02/12 职场文书
幼儿园教师节活动总结
2015/03/23 职场文书
房屋维修申请报告
2015/05/18 职场文书
汉字听写大会观后感
2015/06/12 职场文书
机械原理课程设计心得体会
2016/01/15 职场文书
详解MySQL的主键查询为什么这么快
2022/04/03 MySQL