虚拟主机空间打开Zend Optimizer的相关问题

Linux, 技术心得 Add comments

  还记得我在这篇文章里提到过IPowerWeb的空间不支持php5打开Zend Optimizer么?现在看起来是我搞错了,但是IPowerWeb给的默认值是不打开Zend Optimizer的,就是因为这一点害得我研究了半天。

  首先,由于IPowerWeb的MySQL主机前一段时间的问题,数据库访问慢得要命,我不得不把环境换成php5,换上WordPress的mysqli数据库连接,于是我面临在php5下面打开Zend Optimizer的挑战。挑战在于,由于服务商没有提供默认打开Zend Optimizer的配置文件,我根本不知道Zend Optimizer的路径……

  首先,尝试用php4环境下的IPower提供的默认配置文件,内容是

[Zend]
zend_optimizer.optimization_level=15
zend_optimizer.encoder_loader=0
zend_extension_manager.optimizer=/usr/local/Zend/Zend-2.5.7/lib/Optimizer-2.5.7
zend_extension_manager.optimizer_ts=/usr/local/Zend/Zend-2.5.7/lib/Optimizer_TS-2.5.7
zend_extension=/usr/local/Zend/Zend-2.5.7/lib/ZendExtensionManager.so
zend_extension_ts=/usr/local/Zend/Zend-2.5.7/lib/ZendExtensionManager_TS.so

  从phpinfo的显示来看,似乎是成功了,但是总觉得不爽,总觉得哪里有问题。

  突然想到一招,用phpspy可以看到自己主机空间的其他目录,而不是被chroot在自己的根目录里。果然,进入/usr/local/Zend/,看到Zend-2.5.7,Zend-2.6.2,lib等目录。进入lib,发现有各个版本的Optimizer目录,这些目录下还有对应不同php版本的目录。于是就简单了,查一查zend_extension和zend_extension_manager.optimizer这两个设置项的含义就明白了,zend_extension是为了引用extension_manager,而zend_extension_manager.optimizer指示extension_manager调用Zend Optimizer。于是我写上

[Zend]
zend_optimizer.optimization_level=511
zend_optimizer.encoder_loader=0
zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so
zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so
zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-3.2.0
zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-3.2.0

  那个511是我个人觉得合适的值,这个值的含义很容易搜到,就不详述了。注意zend_extension_manager.optimizer不能写到具体的.so文件,只能写到相应版本的Optimizer目录,连下面的php版本对应的目录都不能写进去。
  事实证明,IPowerWeb提供的php4环境下的默认值虽然能用,但也不如我上面这个来得好。上面这个对php4和5都通用。
  最后你应该看到phpinfo里面有这样的内容(版本可能有不同)

This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
  with Zend Extension Manager v1.0.11, Copyright (c) 2003-2006, by Zend Technologies
  with Zend Optimizer v3.2.0, Copyright (c) 1998-2006, by Zend Technologies

  这样就大功告成了。

  所以以后如果虚拟主机有什么扩展软件等需要查询安装地址(例如ImageMagicK),就用phpspy上到主机的根目录去查查路径就好了。

Related posts:

  1. Directory Opus 联网验证被封证书后,清除安装痕迹的方法

4 Responses to “虚拟主机空间打开Zend Optimizer的相关问题”

  1. Classicning Says:

    What is the sum of 9 and 6?

  2. Classicning Says:

    What is the sum of 6 and 7?

  3. Zyo Says:

    问一下phpspy怎么使用?需要输入密码?

  4. WG Says:

    用任何文本编辑器打开那个php文件,往下翻几行就能看到密码(有中文注释),可以自己修改为非默认的密码然后再上传到服务器

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">


LilyStudio & WordPress & N.Design Studio
Entries RSS Comments RSS Log in