谁可相欹 发表于 2015-2-4 00:13:07

PHP编程:PHP缓存减速器:eAccelerator

左手拿着MOTOLOLA右手拿着NOKIA,要多潇洒,有多潇洒,哈哈,终于学会了,但是可能这个时候,又会有人不经意的拍拍肩膀对你说:哥们,别高兴的太早,你还是菜鸟,离学会还差着一大截呢!缓存   eAccelerator README for Linux 简体中文翻译

eAccelerator 是一个为 PHP 法式减速的收费开源软件,其极速后果毫不输给 Zend Performance Suite。而且撑持 Linux, FreeBSD, Solaris, MacOS X, Windows等体系。
明天闲来无事,将 README for Linux 文件翻译了出来,供人人参考。
个中装置局部停止了修正,细化了装置进程。
个中翻译不切实的中央还请人人指教:)
【翻译:Nanu (nanu@discuz.com) 】
eAccelerator for PHP
甚么是 eAccelerator ?
eAccelerator 是一个开源而且收费的 PHP 减速器,优化器,编码器,同时也可以为 PHP
供应静态内容缓存。它可以将 PHP 剧本缓存为已编译形态以到达提拔 PHP 剧本运转功能
的目标,因而传统的预编译几近被消弭。eAccelerator 也可以优化 PHP 剧本以提拔 PHP
剧本的履行速度。eAccelerator 可无效下降办事器负载而且进步 PHP 法式速度达 1-10 倍。
TurckMMCache 是 eAccelerator 的前身。
( http://sourceforge.net/project/turckmm-cache/by Dmitry Stogov )
eAccelerator 包括一个 PHP 编码器和加载器。您可使用编码器对 .php 剧本停止编码,
从而可以以非源代码体例宣布您的 PHP 法式。经由编码的 PHP 法式可以运转在任何装置有
PHP 解析情况和 eAccelerator 的站点上,因为编码后的 PHP 法式存储为已编译代码,而且
已编译版本中不包括法式的源代码,因而,经由 eAccelerator 编码的 PHP 法式是不克不及被复原
恢复的。固然,一些外部剧本可以被某些分歧的反编译引擎东西(如 disassemblers, debuggers等)
停止复原恢复,但这并不是是微乎其微的。
eAccelerator 与 Zend Optimizer 加载器兼容。在 php.ini 中,Zend Optimizer 必需在
eAccelerator 以后加载。假如您的站点不运转任何经过 Zend 编码器编码的 PHP 剧本,那末
咱们其实不保举您在装置 eAccelerator 的办事器上装置 Zend Optimizer。
eAccelerator 不克不及运转于 CGI 形式下,但它可以运转于像 lighttpd 相似的 Fast-CGI形式。
以下是一些与 eAccelerator 具有不异功效的产物:
- Zend Performance Suite (http://www.zend.com)
- Alternative PHP Cache (http://pecl.php.net/package/APC)

下载
最新版的 eAccelerator 可以在 Sourceforge 下载:
http://sourceforge.net/projects/eaccelerator/
CVS 开辟版本快照(snapshots)可以在以下地址下载:
http://snapshots,eaccelerator.net

所需情况
Apache 1.3 或更高版本
mod_php 4.1 或更高版本
autoconf
automake
libtool
m4

兼容性
经由用户的利用和呈报,eAccelerator 可以运转在 PHP4 和 PHP5。PHP5.1 今朝尚不克不及完全的
撑持。eAccelerator 可以与 Apache 1.3/2.0、lighttpd、和 IIS 在 Linux、FreeBSD、MacOS X、Solaris 和
Windows 上运转。

疾速装置
您可以在 eAccelerator 站点获得更多有关装置方面的信息。
http://eaccelerator.sourceforge.net/
注重(1):有关 Microsoft Windows 平台的装置信息,请浏览 README.win32 file。
步调 1. 编译 eAccelerator
                cd /usr/local/src
                wget http://internap.dl.sourceforge.n ... rator-0.9.4.tar.bz2
                tar xjvf eaccelerator-0.9.4.tar.bz2
                cd eaccelerator-0.9.4.tar.bz2
                export PHP_PREFIX="/usr/local/php"
                $PHP_PREFIX/bin/phpize
                ./configure \
               --enable-eaccelerator=shared \
               --with-php-config=$PHP_PREFIX/bin/php-config
                make
      您必需在 export 号令中指定 PHP 真实的装置目次地位。该目次地位多是 "/usr" "/usr/local",或
      其他地位。
步调 2. 装置 eAccelerator
      make install
步调 3. 设置装备摆设 eAccelerator
eAccelerator 可以装置为 Zend 扩大或 PHP 扩大。
关于 eAccelerator 0.9.1 及其以上版本,假如您体系中存在 /etc/php.d 目次,则需求将 eaccelerator.ini
文件复制到该目次中,而且依据需求修正个中的默许设置和数值。
假如体系中不存在 /etc/php.d 目次,则编纂 php.ini 文件(凡是位于 /etc/php.ini)。
装置为 Zend 扩大:
zend_extension="/usr/lib/php4/eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
假如您利用 thread safe 编译装置 PHP,则您必需利用 "zend_extension_ts" 取代 "zend_extension"。
装置为 PHP 扩大:
extension="eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
步调 4. 创立缓存目次
      mkdir /tmp/eaccelerator
      chomd 0777 /tmp/eaccelerator

设置装备摆设选项
eaccelerator.shm_size
      指定 eAccelerator 可以利用的同享内存数目,单元:MB。
      "0" 代表操作体系默许。默许值为 "0"。
eaccelerator.cache_dir
      用户磁盘缓存的目次。eAccelerator 在该目次中存储预编译代码、session 数据、内容等。
      不异的数据也能够存储于同享内存中(以取得更快的存取速度)。默许值为 "/tmp/eaccelerator"。
eaccelerator.enable
      开启或封闭 eAccelerator。"1" 为开启,"0" 为封闭。默许值为 "1"。
eaccelerator.optimizer
      开启或封闭外部优化器,可以提拔代码履行速度。"1" 为开启,"0" 为封闭。默许值为 "1"。
eaccelerator.debug
      开启或封闭调试日记纪录。"1" 为开启,"0" 为封闭。默许值为 "0"。
eaccelerator.check_mtime
      开启或封闭 PHP 文件修改反省。"1" 为开启,"0" 为封闭。假如您想要在修正后从头编译 PHP
      法式则需求设置为 "1"。默许值为 "1"。
eaccelerator.filter
      判别哪些 PHP 文件必需缓存。您可以指定缓存和不缓存的文件类型(如 "*.php *.phtml"等)
      假如参数以 "!" 开首,则婚配这些参数的文件被疏忽缓存。默许值为 "",即,一切 PHP 文件
      都将被缓存。
eaccelerator.shm_max
      当利用 " eaccelerator_put() " 函数时制止其向同享内存中存储过大的文件。该参数指定答应
      存储的最大值,单元:字节 (10240, 10K, 1M)。"0" 为不限制。默许值为 "0"。
eaccelerator.shm_ttl
      当 eAccelerator 获得新剧本的同享内存巨细掉败时,它将从同享内存中删除一切在
      最初 "shm_ttl" 秒内没法存取的剧本缓存。默许值为 "0",即:不从同享内春中删除
      任何缓存文件。
eaccelerator.shm_prune_period
      当 eAccelerator 获得新剧本的同享内存巨细掉败时,他将试图从同享内存中删除早于
      "shm_prune_period" 秒的缓存剧本。默许值为 "0",即:不从同享内春中删除
      任何缓存文件。
eaccelerator.shm_only
      答应或制止将已编译剧本缓存在磁盘上。该选项对 session 数据和内容缓存有效。默许
      值为 "0",即:利用磁盘和同享内存停止缓存。
eaccelerator.compress
      答应或制止紧缩内容缓存。默许值为 "1",即:答应紧缩。
eaccelerator.compress_level
      指定内容缓存的紧缩品级。默许值为 "9",为最初等级。
eaccelerator.name_sapce
      一个一切键(keys)的前缀字符串。假如设置该前缀字符串则答应 .htaccess 或 主设置装备摆设
      文件在不异主机上运转两个不异的键名。
eaccelerator.keys
eaccelerator.sessions
eaccelerator.content
      判别哪些键(keys)、session 数据和内容将被缓存。可用参数值为:
      "shm_and_disk" - 同时在同享内存和磁盘中缓存数据(默许值);
      "shm"          - 假如同享内存用尽或数据容量大于 "eaccelerator.shm_max"
                         则在同享内存或磁盘中缓存数据;
      "shm_only"   - 仅在同享内存中缓存数据;
      "disk_only"    - 仅在磁盘中缓存数据;
      "none"         - 制止缓存数据。

eAccelerator 使用法式接口(API)
eaccelerator_put($key, $value, $ttl=0)
      将 $value 存储在同享内存中,并存储 $tll 秒。
eaccelerator_get($key)
      从同享内存中前往 eaccelerator_put() 函数所存储的缓存数值,假如不存在或已
      过时,则前往 null。
eaccelerator_rm($key)
      从同享内存中删除 $key。
eaccelerator_gc()
      删除一切过时的键(keys)
eaccelerator_lock($lock)
      创立一个指命名称的锁(lock)。该锁可以经由过程 eaccelerator_unlock() 函数消除,在恳求
      停止时也会主动解锁。例如:
      <?php
                eaccelerator_lock("count");
                eaccelerator_put("count",eaccelerator_get("count")+1));
      ?>
eaccelerator_unlock($lock)
      消除指命名称的锁(lock)。
eaccelerator_set_session_handlers()
      装置 eAccelerator session 句柄。
      从 PHP 4.2.0 今后,您可以经由过程设置 php.ini 中的 "session.save_handler=eaacelerator"
      装置 eAccelerator 句柄。
eaccelerator_cache_output($key, $eval_code, $ttl=0)
      在同享内存中缓存$eval_code 的输入,缓存 $ttl 秒。
      可以挪用 mmcach_rm() 函数删除不异 $key 的输入。例如:
      <?php eaccelerator_cache_output('test', 'echo time(); phpinfo();', 30); ?>
eaccelerator_cache_result($key, $eval_code, $ttl=0)
      在同享内存中缓存 $eval_code 的了局,缓存 $ttl 秒。
      可以挪用 mmcach_rm() 函数删除不异 $key 的了局。例如:
      <?php eaccelerator_cache_output('test', 'time()." Hello";', 30); ?>
eaccelerator_cache_page($key, $ttl=0)
      缓存全部页面,且缓存 $ttl 秒。例如:
      <?php
                eaccelerator_cache_page($_SERVER['PHP_SELF'].'?GET='.serialize($_GET),30);
                echo time();
                phpinfo();
      ?>
eaccelerator_rm_page($key)
      从缓存中删除由 eaccelerator_cache_page() 函数创立的不异 $key 的页。
eaccelerator_encode($filename)
      前往 $filename 文件经由编译后的编码。
eaccelerator_load($code)
      加载被 eaccelerator_encode() 函数编码过的剧本。

WEB 界面
可以经由过程 eaccelerator.php 停止基于 WEB 界面的办理。固然,您需求将该文件存储于您的 WEB 站点
目次中。出于平安缘由,建议您对该文件停止平安掌握,包管只要当地 IP 才干读取该文件。
从 2.3.18 版本入手下手,办理界面可以停止暗码回护。从终端号令交运行 eaccelerator_password.php 并
依照以下步调生成暗码:
      $ php -q eaccelerator_password.php
      更改 eAccelerator WEB 办理界面暗码。(eaccelerator.php)
      Enter admin name:admin
      New admin password: eaccelerator
      Retype new admin password: eaccelerator
      在 php.ini 中添加以下内容,而且从头启动 WEB 办事:
      eaccelerator.admin.name="admin"
      eaccelerator.admin.password="$1$0ScD9gkb$nOEmFerNMvQ576hELeLrG0"
假如在受 HTTPD 暗码回护的目次中寄存 eaccelerator.php,则 eaccelerator 的办理员用户名和暗码
必需分歧。

接洽咱们
您可以接洽咱们以呈报 BUGS、发问或补钉。发送电子邮件给 Bart Vanbrabant
<zoeloelip at users.sourceforge.net>


会HTML吗?会,我能编好几个大表格排板的网页啦!

山那边是海 发表于 2015-2-4 09:59:09

建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。

不帅 发表于 2015-2-9 22:01:19

个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。

若相依 发表于 2015-2-10 11:25:58

做为1门年轻的语言,php一直很努力。

分手快乐 发表于 2015-3-1 09:44:00

写的比较杂,因为我也是个新手,不当至于大家多多指正。

蒙在股里 发表于 2015-3-7 04:33:38

Ps:以上纯属原创,如有雷同,纯属巧合

小妖女 发表于 2015-3-10 22:44:19

因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax

若天明 发表于 2015-3-13 23:23:02

个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。

活着的死人 发表于 2015-3-20 22:17:13

php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。

简单生活 发表于 2015-4-14 16:55:36

有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。

爱飞 发表于 2015-4-16 13:09:31

说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。

飘飘悠悠 发表于 2015-4-19 04:30:19

使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的

变相怪杰 发表于 2015-4-20 11:27:04

开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。

小女巫 发表于 2015-4-20 22:46:52

最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。

灵魂腐蚀 发表于 2015-5-2 22:45:43

其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。

谁可相欹 发表于 2015-6-8 20:07:54

在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。

精灵巫婆 发表于 2015-6-26 14:09:18

在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。

飘灵儿 发表于 2015-6-29 21:53:26

环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。

冷月葬花魂 发表于 2015-7-7 23:35:25

因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax

柔情似水 发表于 2015-7-9 20:40:53

如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
页: [1]
查看完整版本: PHP编程:PHP缓存减速器:eAccelerator