Hi!请登陆

解决linux 安装 Zend Optimizer出现的错误

2020-10-27 54 10/27

在 Fedora 10 安装 lighttpd + php5 + mysql5 + zend Optimizer.
前3个均可以用 yum 进行安装,很方便.
而 zend Optimizer 需要下载解压后,到解压目录输入:

./install.sh

就会出现界面提示安装.安装后重启 lighttpd却没有成功启动zend Optimizer.

解决方法:

1.对于 php.ini文件路径有问题( 我的在 phpinfo()显示php.ini路径正确,我就不用这个方法 )
解决方法:

php -i | grep php.ini

就可以找到当前php使用的php.ini文件.
如果php optimizer安装好了 却发现不能加载的话可以 手工指定读取php.ini文件的位置.

php -c /etc/ -v

如果可以看到zend opt正确加载.
那么做个连接就好了,连接到php默认读取的php.ini路径下面:

ln -sf /etc/php.ini /usr/local/lib
$ php -v
PHP 5.2.5 (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 v3.3.2, Copyright (c) 1998-2006, by Zend Technologies

Ok 正常了.

2.Failed loading /usr/local/Zend/lib/Optimizer-3.3.0/php-5.2.x/ZendOptimizer.so

php -i 中显示:

Failed loading /usr/local/Zend/lib/Optimizer-3.3.0/php-5.2.x/ZendOptimizer.so: /usr/local/Zend/lib/Optimizer-3.3.0/php-5.2.x/ZendOptimizer.so: cannot restore segment prot after reloc: Permission denied

解决办法:

chmod -R 777 /usr/local/Zend/lib/Optimizer-3.3.0/php-5.2.x/ZendOptimizer.so

3.最恶心的SElinux问题

SElinux导致PHP不能使用zend/lib下的库文件.所以,即便是做了link也不行.只能够拷贝库文件到有权限的目录.或者直接关掉SElinux.
但我已在 /etc/selinux/config 的 SELINUX=disabled 关掉SElinux 还是不行, 再网络查询发现
在你保证SElinux 被disable后.还执行下:

chcon -t texrel_shlib_t /usr/local/Zend/lib/Optimizer-3.3.0/php-5.2.x/ZendOptimizer.so

就可以了.

Tag:

相关推荐