网站加速 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 相关文章推荐
攻克CakePHP系列三 表单数据增删改
Oct 22 PHP
在VS2008中编译MYSQL5.1.48的方法
Jul 03 PHP
php自动获取目录下的模板的代码
Aug 08 PHP
PHP学习之整理字符串
Apr 17 PHP
php中使用redis队列操作实例代码
Feb 07 PHP
php二分查找二种实现示例
Mar 12 PHP
ThinkPHP登录功能的实现方法
Aug 20 PHP
详解PHP实现定时任务的五种方法
Jul 25 PHP
thinkPHP模板中for循环与switch语句用法示例
Nov 30 PHP
浅谈php中fopen不能创建中文文件名文件的问题
Feb 06 PHP
Laravel5框架添加自定义辅助函数的方法
Aug 01 PHP
对laravel的session获取与存取方法详解
Oct 08 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字符过滤函数去除字符串最后一个逗号(rtrim)
2013/03/26 PHP
解析csv数据导入mysql的方法
2013/07/01 PHP
Yii中CGridView关联表搜索排序方法实例详解
2014/12/03 PHP
Web程序工作原理详解
2014/12/25 PHP
详细对比php中类继承和接口继承
2018/10/11 PHP
Yii2.0建立公共方法简单示例
2019/01/29 PHP
PHP+百度AI OCR文字识别实现了图片的文字识别功能
2019/05/08 PHP
JQuery 实现的页面滚动时浮动窗口控件
2009/07/10 Javascript
Jquery 获得服务器控件值的方法小结
2010/05/11 Javascript
js实现图片放大缩小功能后进行复杂排序的方法
2012/11/08 Javascript
js给onclick赋值传参数的两种方法
2013/11/25 Javascript
jquery checkbox实现单选小例
2013/11/27 Javascript
JS不间断向上滚动效果代码
2013/12/25 Javascript
JavaScript实现找出字符串中第一个不重复的字符
2014/09/03 Javascript
js Calender控件使用详解
2015/01/05 Javascript
JavaScipt中栈的实现方法
2016/02/17 Javascript
JavaScript开发者必备的10个Sublime Text插件
2016/02/27 Javascript
B/S(Web)实时通讯解决方案分享
2017/04/06 Javascript
echarts学习笔记之图表自适应问题详解
2017/11/22 Javascript
js实现各浏览器全屏代码实例
2018/07/03 Javascript
使用ESLint禁止项目导入特定模块的方法步骤
2019/03/04 Javascript
webpack5 联邦模块介绍详解
2020/07/08 Javascript
[03:44]2015国际邀请赛选手档案—Cloud9.NoTail
2015/07/28 DOTA
Python编码爬坑指南(必看)
2016/06/10 Python
Python 内置变量和函数的查看及说明介绍
2019/12/25 Python
Python telnet登陆功能实现代码
2020/04/16 Python
团代会主持词
2014/04/02 职场文书
无犯罪记录证明范本
2014/09/15 职场文书
营运督导岗位职责
2015/04/10 职场文书
公司催款律师函
2015/05/27 职场文书
学历证明范文
2015/06/16 职场文书
幼儿园迎新生欢迎词
2015/09/30 职场文书
pytorch中的model.eval()和BN层的使用
2021/05/22 Python
了解Redis常见应用场景
2021/06/23 Redis
python库Tsmoothie模块数据平滑化异常点抓取
2022/06/10 Python
Python使用pandas导入csv文件内容的示例代码
2022/12/24 Python