网站加速 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 一个随机字符串生成代码
May 26 PHP
精美漂亮的php分页类代码
Apr 02 PHP
Mac系统下使用brew搭建PHP(LNMP/LAMP)开发环境
Mar 03 PHP
php实现购物车功能(下)
Jan 05 PHP
PHP递归遍历多维数组实现无限分类的方法
May 06 PHP
php gd等比例缩放压缩图片函数
Jun 12 PHP
php解决和避免form表单重复提交的几种方法
Aug 31 PHP
php curl常用的5个经典例子
Jan 20 PHP
PHP中函数gzuncompress无法使用的解决方法
Mar 02 PHP
yii2 commands模式以及配置crontab定时任务的方法
Aug 19 PHP
PHP常见的几种攻击方式实例小结
Apr 29 PHP
PHP查找一列有序数组是否包含某值的方法
Feb 07 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&amp;mysql(四)
2006/10/09 PHP
php管理nginx虚拟主机shell脚本实例
2014/11/19 PHP
thinkphp使用phpmailer发送邮件的方法
2014/11/24 PHP
centos 7.2下搭建LNMP环境教程
2016/11/20 PHP
PHPCMS手机站伪静态设置详细教程
2017/02/06 PHP
通过判断JavaScript的版本实现执行不同的代码
2010/05/11 Javascript
UI Events 用户界面事件
2012/06/27 Javascript
弹出最简单的模式化遮罩层的js代码
2013/12/04 Javascript
上传图片js判断图片尺寸和格式兼容IE
2014/09/01 Javascript
JavaScript实现Java中Map容器的方法
2016/10/09 Javascript
Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
2017/06/02 jQuery
利用Vue实现移动端图片轮播组件的方法实例
2017/08/23 Javascript
详解Vue2.5+迁移至Typescript指南
2019/08/01 Javascript
taro小程序添加骨架屏的实现代码
2019/11/15 Javascript
jquery传参及获取方式(两种方式)
2020/02/13 jQuery
[02:21]十步杀一人,千里不留行——DOTA2全新英雄天涯墨客展示
2018/08/29 DOTA
Python实现统计英文单词个数及字符串分割代码
2015/05/28 Python
python+Django+apache的配置方法详解
2016/06/01 Python
Python 编码处理-str与Unicode的区别
2016/09/06 Python
浅谈Python中range和xrange的区别
2017/12/20 Python
python实现简单遗传算法
2018/03/19 Python
Python实现矩阵相乘的三种方法小结
2018/07/26 Python
Python GUI编程 文本弹窗的实例
2019/06/11 Python
python安装scipy的方法步骤
2019/06/26 Python
python点击鼠标获取坐标(Graphics)
2019/08/10 Python
Python : turtle色彩控制实例详解
2020/01/19 Python
Python调用Windows命令打印文件
2020/02/07 Python
在主流系统之上安装Pygame的方法
2020/05/20 Python
美国电视购物:QVC
2017/02/06 全球购物
澳大利亚小众服装品牌:Maurie & Eve
2018/03/27 全球购物
abstract class和interface有什么区别
2013/08/04 面试题
军训学生自我鉴定
2014/02/12 职场文书
音乐教学随笔感言
2014/02/19 职场文书
美术教学感言
2014/02/22 职场文书
家属慰问信
2015/02/14 职场文书
redis使用不当导致应用卡死bug的过程解析
2021/07/01 Redis