分别针对RPM安装的PHP环境和自己编译安装的PHP环境 安装zend optimizer
1) 使用发行版中的RPM包安装好了的PHP环境 这时要安装zend optimizer的 :
下在zend optimizer并运行./install安装
常见问题:
安装zend提示成功后
php -v 却看不到zend optimizer版本信息 phpinfo()也是一样的
php -v 却看不到zend optimizer版本信息 phpinfo()也是一样的
原因:php.ini文件路径问题
解决方法
php -i | grep php.ini 就可以找到 当前php使用的php.ini文件
比如 编译安装时没有指定php.ini存放路径 那么默认php.ini会放在/usr/local/lib下面
最好是在编译PHP时指定PHP配置文件的路径 如: --with-config-file-path=/usr/local/etc
最好是在编译PHP时指定PHP配置文件的路径 如: --with-config-file-path=/usr/local/etc
找到了当前PHP使用的php.ini文件后 在安装zend optimizer时手工指定我们php.ini文件存放的位置就可以了
如果php optimizer安装好了 却发现不能加载的话可以 还可以尝试手工指定读取php.ini文件的位置
php -c /etc/ -v
如果可以看到zend opt正确加载
那么做个连接就好了 连接到php默认读取的php.ini路径下面
比如
ln -sf /etc/php.ini /usr/local/lib
[root@localhost /]# php -v
PHP 4.4.2 (cli) (built: Jan 22 2006 12:59:19)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
with Zend Extension Manager v1.0.9, Copyright (c) 2003-2006, by Zend Technologies
with Zend Optimizer v2.6.2, Copyright (c) 1998-2006, by Zend Technologies
Ok 正常了 phpinfo()看到的当然也是一样的
还有一些情况下 php -i 或php -v 在控制台下可以看到zend opt,
但是 在php的网页文件中调用phpinfo()函数的输出里面却看不到zend信息
但是 在php的网页文件中调用phpinfo()函数的输出里面却看不到zend信息
一般是因为 调用php的时候zend模块不能加载, 比如AS4里面 就是这样的 检查下日志可以看到错误信息
如as4下面默认的系统库文件的路径在/usr/lib下面 ,
而php.ini文件中加载zend模块是在/usr/local/Zend/lib目录中
这时apache在加载php模块的时候 不能加载zend模块的库文件
所以 才出现在控制台里php -v 可以正常 但是apache却只能加载PHP模块 却没有加载zend。
解决办法 先把zend模块的库文件copy到/usr/lib里面 然后改一下php.ini里面zend加载模块部分
如as4下面默认的系统库文件的路径在/usr/lib下面 ,
而php.ini文件中加载zend模块是在/usr/local/Zend/lib目录中
这时apache在加载php模块的时候 不能加载zend模块的库文件
所以 才出现在控制台里php -v 可以正常 但是apache却只能加载PHP模块 却没有加载zend。
解决办法 先把zend模块的库文件copy到/usr/lib里面 然后改一下php.ini里面zend加载模块部分
2 ) 自定义编译安装的PHP环境
安装ZEND后 却不能加载ZEND 查看日志提示说什么符号错误
解决方法:
需要在编译PHP的时候
加参数 --enable-versioning 重新编译PHP后安装zend 就可以了
相关热门文章