Zend Optimizer 安装或升级

Zend Optimizer 安装升级都可以参考一下,把安装过程中遇到的问题都记录了。  http://javadoc.org.cn/home.php?mod=space&uid=2&do=blog&id=26

 

Optimizer是否在运行?
答案很简单, 只要用PHP的函数phpinfo()来检测便知,如下所示:
<?
phpinfo();
?>
显示的结 果中关于Zend Optimizer的部分就象下面这样:
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
表示 Zend Optimizer for PHP优化成功了。

当前版本号是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_optimizer.optimization_level=15
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模式。 

解决办法

其实解决的办法很简单,只需要按照下面三个步骤进行,就可以了:

  1. 以 --with-mpm=prefork 参数重新编译安装Apache2
  2. 重新编译安装PHP
  3. 重新安装ZendOptimizer

在程序都重新编译安装完后,重启Apache,就可以了。

 

你可能感兴趣的:(C++,c,PHP,linux,Zend)