linux centos zend安装问题 Permission denied
在 PHP 4.3.9中安装 ZendOptimizer-3.0.0-linux-glibc21-i386,正常安装以后在php的测试信息里没有Zend Optimizer的说明信息。检查php.ini里面已经有了关于ZendOptimizer的信息:
[Zend]zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-3.0.0zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-3.0.0zend_optimizer.version=3.0.0zend_extension=/usr/local/Zend/lib/ZendExtensionManager.sozend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so
用命令 php -v 查看也有ZendOptimizer的信息:
[root@localhost ~]# php -vPHP 4.3.9 (cgi) (built: Nov 24 2004 08:48:16)Copyright (c) 1997-2004 The PHP GroupZend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies with Zend Extension Manager v1.0.10, Copyright (c) 2003-2006, by Zend Technologies with Zend Optimizer v3.0.0, Copyright (c) 1998-2006, by Zend Technologies
可是在php的测试信息里就是没有Zend Optimizer的说明信息。查看apache的错误日志,发现里面有大量的错误信息:
Failed loading /usr/local/Zend/lib/ZendExtensionManager.so: /usr/local/Zend/lib/ZendExtensionManager.so: failed to map segment from shared object: Permission denied
然后就上网查找解决办法,原来是selinux服务的问题,更多关于selinux的介绍请自己上网查询。在这里解决方法有两种:
1.在装ZendOptimizer之前将selinux关掉。方法是编辑/etc/selinux/config文件中的SELINUX="" 为 disabled ,然后重启。
2.不关闭selinux安装完ZendOptimizer以后进入/usr/local/Zend/lib(具体安装路径)执行命令:
chcon ZendExtensionManager.so -t shlib_t
然后在进入/usr/local/Zend/lib/Optimizer-3.0.0/php-4.3.x目录,执行命令:
chcon ZendOptimizer.so -t shlib_t
然后重启apache服务,正常的话以上问题应该解决