Chinaunix首页 | 论坛 | 博客
  • 博客访问: 389413
  • 博文数量: 105
  • 博客积分: 6010
  • 博客等级: 准将
  • 技术积分: 1145
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-01 09:01
文章分类

全部博文(105)

文章存档

2010年(3)

2009年(93)

2008年(9)

我的朋友

分类: BSD

2008-12-29 13:01:38

本文来自http://onmp.cublog.cn,欢迎转载!

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的版本。上面的示例./data/5_2_x_comp/...仅适合PHP5.2.x系列版本,如果是其他版本,请根据版本情况自行修改这个部分!下面同理。

将这两个文件拷贝到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环境中使用了!


需要注意的是,如果还安装了eAcceleratro,那么在php.ini文件中,Zend Optimizer加载的部分一定要在eAcceleratro的后面!

参考博文:

OpenBSD4.3+eAccelerator0.9.5.3+ZendOptimizer3.3.0a

摸索了两天,终于搞定了OpenBSD 4.3和Zend Optimizer3.3.0a(最终版)

OpenBSD 4.4环境下安装Zend Optimizer需要手动做些连接
阅读(1600) | 评论(4) | 转发(0) |
给主人留下些什么吧!~~

czjin2009-01-09 10:09:07

非常感谢您能回复我的问题,我将一一试着解决,我是用的php5,太感谢了。

czjin2009-01-07 14:47:05

止不住试着安装的心情就动手了,但出错了: #cd /usr/lib ln -s libm.so.2.3 libm.so.1.0 ln -s libutil.so.11.0 libutil.so.9.0 ln -s libc.so.41.0 libc.so.30.1 #tar xzvf ZendOptimizer-3.3.0a-openbsd3.4-i386.tar.gz # cd ZendOptimizer-3.3.0a-openbsd3.4-i386/zui_files # /usr/local/bin/php -a install.php Interactive mode enabled PHP Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable

czjin2009-01-07 09:39:17

我试着装系统环境,当撞到bzip2时报如下错误: # pkg_add -v bzip2 parsing bzip2-1.0.4 Can't install bzip2-1.0.4: lib not found c.43.0 c.43.0: partial match in /usr/lib: major=41, minor=0 (bad major) 不装bzip2就无法装eaccelerator-0.9.5.3.tar.bz2,这个提示好象说major是坏的,请问大师如何解决?谢谢。

czjin2009-01-06 16:00:42

按照您的几篇博文我已成功的在我的openbsd4.3上安装了eAccelerator0.9.5.3和ZendOptimizer-3.3.0a,非常感谢。我另外有一台机器装的是openbsd4.2不知能否按照您的博文所示的方法安装?应该注意哪些?这是台装了许多东西的机器,我有点不敢动,希望能得到您的指教。谢谢。