OpenBSD是一个非常重视代码级安全的操作系统,正是因为它的绝对安全性,所以很多程序的安装和编译都会有所不同。
Zend Optimizer是一个PHP的解码软件,用于对使用Zend Guard加密过的代码进行解码,并具有一定的代码缓冲(加速)功能。目前在zend.com,最新的版本是3.3.0a。
本文将讲解在OpenBSD环境下,安装Zend Optimizer的通用方法,此方法适用于OpenBSD所有release和current版本。注意,安装前请su成root。
第一步:下载Zend Opitimizer软件包。
因为在zend.com下载需要注册,这里就不给出具体下载地址,可以自行用电邮地址注册,然后登录下载并上传到服务器工作目录中,不再赘述。
第二步:检验并创立Zend Optimizer工作环境。
不知何故,目前Zend Optimizer只有for OpenBSD 3.4的版本,由于OpenBSD版本变化的缘故,原来需要的一些库文件已经有了很大的变化,直接安装无法通过,会提示缺少库文件,那么就需要做下连接,将Zend Opitimizer指向新库。
如何确定需要哪些新库呢?很简单,将下载的Zend Optimizer压缩包解压,然后运行安装脚本,这个脚本会提示的:
tar xzvf ZendOptimizer-3.3.0a-openbsd3.4-i386.tar.gz
cd ZendOptimizer-3.3.0a-openbsd3.4-i386
./install-sh
屏幕会提示缺少库文件:
./php: can't load library 'libutil.so.9.0'
进入/usr/lib目录查找新库:
cd /usr/lib
ls -l libutil.so*
显示系统中的库文件信息:
-r--r--r-- 1 root bin 181345 Dec 24 16:17 libutil.so.11.0
接下来要做的,就是把Zend Opitimizer所需要的libutil.so.9.0这个旧库连接到新的库文件libutil.so.11.0上。
ln -s /usr/lib/libutil.so.11.0 /usr/lib/libutil.so.9.0
然后再返回Zend Optimizer的解压目录,继续运行install.sh安装脚本查找缺少的库文件并相应的做好连接。方法同上,此处仅给出所需的连接:
ln -s /usr/lib/libc.so.50.0 /usr/lib/libc.so.30.1
ln -s /usr/lib/libm.so.5.0 /usr/lib/libm.so.1.0
做好所有提示的连接,直到再次运行./install.sh提示Segmentation fault (core dumped)出错为止,则Zend Optimizer所需的库环境已经连接完毕。
第三步:将正确的模块文件拷贝到PHP模块目录。
所谓的模块文件,就是Zend Opitimizer压缩包中后缀为.so的文件,一共有两个:(注意,不是带_TS的两个!)
./data/ZendExtensionManager.so
./data/5_2_x_comp/ZendOptimizer.so
将这两个文件拷贝到PHP模块目录中(OpenBSD默认为/var/www/lib/php/modules),注意不要改变文件名!:
cp ./data/ZendExtensionManager.so /var/www/lib/php/modules/
cp ./data/5_2_x_comp/ZendOptimizer.so /var/www/lib/php/modules/
第四步:在php.ini中加载Zend Opitimizer。
vi /var/www/conf/php.ini
跳到最后,加入下面这段:
[Zend]
zend_optimizer.optimization_level=15
zend_optimizer.version=3.3.0a
zend_extension=/var/www/lib/php/modules/ZendExtensionManager.so
zend_extension=/var/www/lib/php/modules/ZendOptimizer.so
注意上面zend_optimizer.optimization_level=这行,是指压缩(缓冲)代码的级别,可选值有:0(关闭),1,3,15,1023(最大)。不过根据本人的简单测试,Zend Optimizer压缩(缓冲)代码的作用并不是很明显,最大值1023也无甚效果。追求性能的朋友可以用0关闭,再使用其他的代码缓冲软件(例如eAcceleratro。pecl-APC与Zend Opitimizer不兼容,不推荐使用)。eAccelerator的安装可以参考偶的另篇博文,地址:
http://blog.chinaunix.net/u2/81136/showart_1281368.html
保存退出,命令行下输入php -v检验Zend Opitimizer是否安装正确,如果在输出的信息中有Zend Opitimizer的相关信息,则说明安装成功.
至此,Zend Optimizer的安装全部完成!可以在PHP环境中使用了!
http://blog.chinaunix.net/u2/81136/