网站加速 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格式化工具Beautify PHP小小BUG
Apr 24 PHP
WordPress开发中的get_post_custom()函数使用解析
Jan 04 PHP
thinkPHP简单导入和使用阿里云OSSsdk的方法
Mar 15 PHP
PHP后端银联支付及退款实例代码
Jun 23 PHP
PHP回调函数与匿名函数实例详解
Aug 16 PHP
使用PHP连接数据库_实现用户数据的增删改查的整体操作示例
Sep 01 PHP
PHP有序表查找之插值查找算法示例
Feb 10 PHP
PHP关于foreach复制知识点总结
Jan 28 PHP
PhpStorm配置Xdebug调试的方法步骤
Feb 02 PHP
Thinkphp5.0 框架视图view的比较标签用法分析
Oct 12 PHP
浅谈laravel数据库查询返回的数据形式
Oct 21 PHP
PHP数组对象与Json转换操作实例分析
Oct 22 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+DBM的同学录程序(3)
2006/10/09 PHP
ThinkPHP的RBAC(基于角色权限控制)深入解析
2013/06/17 PHP
php sybase_fetch_array使用方法
2014/04/15 PHP
PHP生成自定义长度随机字符串的函数分享
2014/05/04 PHP
PHP MVC框架路由学习笔记
2016/03/02 PHP
YII2自动登录Cookie总是失效的解决方法
2017/06/28 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
2020/03/24 PHP
关于hashchangebroker和statehashable的补充文档
2011/08/08 Javascript
js 调用父窗口的具体实现代码
2013/07/15 Javascript
对JavaScript客户端应用编程的一些建议
2015/06/24 Javascript
jquery实现select下拉框美化特效代码分享
2015/08/18 Javascript
js实现的Easy Tabs选项卡用法实例
2015/09/06 Javascript
BootStrap智能表单实战系列(八)表单配置json详解
2016/06/13 Javascript
详解vue-cli开发环境跨域问题解决方案
2017/06/06 Javascript
vue.js实现点击后动态添加class及删除同级class的实现代码
2018/04/04 Javascript
node跨域转发 express+http-proxy-middleware的使用
2018/05/31 Javascript
移动端滑动切换组件封装 vue-swiper-router实例详解
2018/11/25 Javascript
Bootstrap4 gulp 配置详解
2019/01/06 Javascript
Vue 实例中使用$refs的注意事项
2021/01/29 Vue.js
python实现井字棋游戏
2020/03/30 Python
使用Python &amp; Flask 实现RESTful Web API的实例
2017/09/19 Python
Python高级用法总结
2018/05/26 Python
python实现事件驱动
2018/11/21 Python
python爬虫获取新浪新闻教学
2018/12/23 Python
python中hasattr()、getattr()、setattr()函数的使用
2019/08/16 Python
澳大利亚票务和娱乐市场领导者:Ticketmaster
2017/03/03 全球购物
大学生入党思想汇报
2014/01/01 职场文书
珍爱生命演讲稿
2014/05/10 职场文书
个人三严三实对照检查材料思想汇报
2014/09/22 职场文书
教师作风建设剖析材料
2014/10/11 职场文书
2014年依法行政工作总结
2014/11/19 职场文书
大连导游词
2015/02/12 职场文书
新员工辞职信范文
2015/05/12 职场文书
学历证明范文
2015/06/16 职场文书
决心书格式及范文
2019/06/24 职场文书
Win10加载疑难解答时出错发生意外错误的解决方法
2022/07/07 数码科技