还记得我在这篇文章里提到过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:
March 24th, 2008 at 8:54 pm
What is the sum of 9 and 6?
March 24th, 2008 at 9:09 pm
What is the sum of 6 and 7?
May 27th, 2008 at 12:11 pm
问一下phpspy怎么使用?需要输入密码?
May 27th, 2008 at 12:49 pm
用任何文本编辑器打开那个php文件,往下翻几行就能看到密码(有中文注释),可以自己修改为非默认的密码然后再上传到服务器