方法一,超级简单但没测试过 ZendOptimizer 3.3.3
一,下载
代码如下 |
复制代码 |
wget http://downloads.zend.com/optimizer/3.3.3/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
tar -xzvf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
./ZendOptimizer-3.3.3-linux-glibc23-i386/install.sh
|
安装的时候,有个地方需要指定php.ini 目录
代码如下 |
复制代码 |
/usr/local/webserver/php/
|
另外,还有个选项是否有apache 选择no, 其它地方都是yes就行
二,重启PHP
代码如下 |
复制代码 |
/usr/local/webserver/php/sbin/php-fpm restart
|
方法二,centos下安装ZendOptimizer 3.3.3
一,下载
代码如下 |
复制代码 |
cd /usr/local/src
wget http://downloads.zend.com/optimizer/3.3.3/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
tar -xzvf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
./ZendOptimizer-3.3.3-linux-glibc23-i386/install.sh
|
二,安装
1,php.ini配置文件目录是:/etc
2,注意Host5156_Vps使用的是lighttpd,而非apache。
三,配置域名目录下php.ini文件
1,/etc/php.ini是总的配置文件。还有一个具体的配置文件位于:/home/httpd/domain.com/php.ini,这个文件也要设置下。
2,把php.ini文件下的[zend]段落复制下来,再添加到/home/httpd/domain.com/php.ini文件中。
代码如下 |
复制代码 |
[Zend]
zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-3.3.3
zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-3.3.3
zend_optimizer.version=3.3.3
zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so
zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so
|
3,重启Apache
代码如下 |
复制代码 |
/etc/init.d/httpd restart
|
方法三,centos下安装ZendOptimizer 3.3.9
以前老版本 Zend Optimizer 的安装方法是运行安装脚本 ./install.sh,新的Zend Optimizer 3.3.9没有安装脚本,只能按照以下方法安装。
1. 下载文件源文件:
代码如下 |
复制代码 |
tar -zxvf ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz |
3. cd ZendOptimizer-3.3.9-linux-glibc23-i386
这里要注意,进入data文件夹后,so 文件是对应版本的,看好系统中的PHP版本再安装。
4. 把 ZendOptimizer.so 文件拷贝到 /usr/local/Zend/lib
代码如下 |
复制代码 |
cp ZendOptimizer.so /usr/local/Zend/lib |
5. 把下列两行加入php.ini,不要加入任何空格和制表符
代码如下 |
复制代码 |
[Zend]
zend_optimizer.optimization_level=1023
zend_optimizer.encoder_loader=1
zend_extension=/usr/local/Zend/lib/ZendOptimizer.so
# php -v
Failed loading /var/soft/bin/apache/modules/ZendOptimizer.so: ...
|
也就是说,导致加载ZendOptimizer失败的原因,是因为编译安装Apache2的时候,指定了worker模式 --with-mpm=worker ,Apache2运行在线程模式下。而ZendOptimizer只支持进程模式。也就是Apache2的prefork模式 --with-mpm=prefork 。
于是查看当前的Apache2是否支持了worker模式:
代码如下 |
复制代码 |
# httpd -l
Compiled in modules:
core.c
worker.c
http_core.c
mod_so.c |
是支持worker模式。
解决办法:
其实解决的办法很简单,只要重新编译apche,就可以了:
代码如下 |
复制代码 |
1. 以 --with-mpm=prefork 参数重新编译安装Apache2
./configure --prefix=/var/soft/bin/apache --enable-mods-shared=all --with-mpm=prefork
|
在程序都重新编译安装完后,重启Apache,就可以了。 |