有关eAccelerator的资料请看本站我翻译的:PHP加速器eAccelerator文档翻译
一:eAccelerator把编译好的PHP程序存储在共享内存里面,并直接在这里面执行程序。不适合放入共享内存的文件将被缓存到硬盘上。所以先建立eAccelera缓存目录:
以下是引用片段:
[shengting@login sso]$ pwd /data1/apache/sso [shengting@login sso]$ mkdir cache-eaccelerator [shengting@login sso]$ chmod 777 cache-eaccelerator/ [root@login sso]# chown nobody:nobody cache-eaccelerator/ |
二:下载文件:
以下是引用片段:
[shengting@login sso_front_soft]$ cd /home/sso_front_soft/ [shengting@login sso_front_soft]$ pwd /home/sso_front_soft [shengting@login sso_front_soft]$ su Password: [root@login sso_front_soft]# wget "http://bart.eaccelerator.net/source/0.9.5.2/eaccelerator-0.9.5.2.tar.bz2" --10:31:00-- http://bart.eaccelerator.net/source/0.9.5.2/eaccelerator-0.9.5.2.tar.bz2 => `eaccelerator-0.9.5.2.tar.bz2' Resolving bart.eaccelerator.net... 193.190.253.234 Connecting to bart.eaccelerator.net[193.190.253.234]:80... connected. HTTP request sent, awaiting response... 200 OK Length: 121,935 [application/x-tar]
100%[===================================================================>] 121,935 55.29K/s
10:31:03 (55.23 KB/s) - `eaccelerator-0.9.5.2.tar.bz2' saved [121,935/121,935] |
三:解压并进入文件
以下是引用片段:
[root@login sso_front_soft]# tar -jxvf eaccelerator-0.9.5.2.tar.bz2 [root@login sso_front_soft]# cd eaccelerator-0.9.5.2 [root@login eaccelerator-0.9.5.2]# pwd /home/sso_front_soft/eaccelerator-0.9.5.2 |
四:which一下phpize得到phpize地址:/usr/local/bin/phpize
phpize 命令是用来准备 PHP 扩展库的编译环境的,成功的安装将创建 extname.so 并放置于 PHP 的扩展库目录中。需要调整 php.ini,加入 extension=extname.so 这一行之后才能使用此扩展库。
而eaccelerator的编译需要使用这个命令:
以下是引用片段:
[root@login eaccelerator-0.9.5.2]# /usr/local/bin/phpize Configuring for: PHP Api Version: 20041225 Zend Module Api No: 20050922 Zend Extension Api No: 220051025 |
五:编译eaccelerator
以下是引用片段:
[root@login eaccelerator-0.9.5.2]# ./configure --enable-eaccelerator=shared --with-php-config=/usr/local/bin/php-config [root@login eaccelerator-0.9.5.2]# make [root@login eaccelerator-0.9.5.2]# make install Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20050922/ |
注意上面的“Installing shared extensions”的地址,这是phpize告诉我们的扩展库的地址。如下:
以下是引用片段:
[root@login eaccelerator-0.9.5.2]# ls -l /usr/local/lib/php/extensions/no-debug-non-zts-20050922/ total 768 -rwxr-xr-x 1 root root 425775 Oct 26 11:28 eaccelerator.so -rwxr-xr-x 1 root root 78031 Jan 22 2007 memcache.so -rwxr-xr-x 1 root root 26273 Oct 10 11:55 String2Int.so |
六:以下安装为PHP扩展
以下是引用片段:
[root@login eaccelerator-0.9.5.2]# find / -name php.ini /usr/local/lib/php.ini |
修改php.ini文件,加入:(注意extension的地址)
以下是引用片段:
[eaccelerator] extension="/usr/local/lib/php/extensions/no-debug-non-zts-20050922/eaccelerator.so" eaccelerator.shm_size="32" eaccelerator.cache_dir="/data1/apache/sso/cache-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="0" eaccelerator.compress_level="9" |
七:重启apache
以下是引用片段:
[root@login eaccelerator-0.9.5.2]# /data1/apache/bin/apachectl stop /data1/apache/bin/apachectl stop: httpd stopped [root@login eaccelerator-0.9.5.2]# /data1/apache/bin/apachectl startssl /data1/apache/bin/apachectl start: httpd started |
注意:
1 : 使用ssl 443端口,启动时:/data1/apache/bin/apachectl startssl
2 : 定期清理cache-eaccelerator,如果是把cache-eaccelerator下的目录也删除,则需要重启apache,否则会出现异常。(具体什么异常需要测试)