网站加速 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 相关文章推荐
php 魔术函数使用说明
Feb 21 PHP
Windows下部署Apache+PHP+MySQL运行环境实战
Aug 31 PHP
浅析PHP原理之变量(Variables inside PHP)
Aug 09 PHP
让codeigniter与swfupload整合的最佳解决方案
Jun 12 PHP
destoon各类调用汇总
Jun 20 PHP
PHP程序员必须清楚的问题汇总
Dec 18 PHP
PHP利用hash冲突漏洞进行DDoS攻击的方法分析
Mar 26 PHP
php下载文件超时时间的设置方法
Oct 06 PHP
PHP实现的简单AES加密解密算法实例
May 29 PHP
PHP类与对象后期静态绑定操作实例详解
Dec 20 PHP
thinkPHP5.1框架中Request类四种调用方式示例
Aug 03 PHP
thinkphp5.1 框架导入/导出excel文件操作示例
May 25 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
php str_pad 函数使用详解
2009/01/13 PHP
全面解读PHP的Yii框架中的日志功能
2016/03/17 PHP
网上应用的一个不错common.js脚本
2007/08/08 Javascript
javascript中的undefined 与 null 的区别  补充篇
2010/03/17 Javascript
ajax提交表单实现网页无刷新注册示例
2014/05/08 Javascript
node.js中的querystring.parse方法使用说明
2014/12/10 Javascript
Yii2使用Bootbox插件实现自定义弹窗
2015/04/02 Javascript
javascript实现全角半角检测的方法
2015/07/23 Javascript
js实现页面跳转的五种方法推荐
2016/03/10 Javascript
javascript实现仿百度图片的瀑布流加载效果
2016/04/20 Javascript
Active控件问题小结(附解决办法)
2016/06/09 Javascript
Angular 页面跳转时传参问题
2016/08/01 Javascript
Js得到radiobuttonlist选中值的两种方法(推荐)
2016/08/25 Javascript
Angularjs 创建可复用组件实例代码
2016/10/09 Javascript
Jquery给当前页或者跳转后页面的导航栏添加选中后样式的实例
2016/12/08 Javascript
js实现分页功能
2017/05/24 Javascript
webpack 3.X学习之多页面打包的方法
2018/09/04 Javascript
ios中视频的最后一桢问题解决
2019/05/14 Javascript
Vue-cli3项目引入Typescript的实现方法
2019/10/18 Javascript
vue实现下载文件流完整前后端代码
2020/11/17 Vue.js
巧用Python装饰器 免去调用父类构造函数的麻烦
2012/05/18 Python
Python 字典(Dictionary)操作详解
2014/03/11 Python
python输出100以内的质数与合数实例代码
2018/07/08 Python
Python3.7实现中控考勤机自动连接
2018/08/28 Python
详解python中list的使用
2019/03/15 Python
python+selenium 点击单选框-radio的实现方法
2019/09/03 Python
python 密码学示例——理解哈希(Hash)算法
2020/09/21 Python
纯CSS3单页切换导航菜单界面设计的简单实现
2016/08/16 HTML / CSS
css3中flex布局宽度不生效的解决
2020/12/09 HTML / CSS
HTML5 Convas APIs方法详解
2015/04/24 HTML / CSS
Bally巴利英国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/05/07 全球购物
马来西亚最热门的在线时尚商店:FashionValet
2018/11/11 全球购物
Java的for语句中break, continue和return的区别
2013/12/19 面试题
中学生运动会入场词
2014/02/12 职场文书
行政专员求职信范文
2014/05/03 职场文书
教师教育心得体会
2016/01/19 职场文书