配置PHP启动Apache服务报错
通过搜索发现,说是缺少bison。
如果通过rpm -qa|grep bison发现没有安装bison,安装bison即可。centos可以用yum install bison
但是我发现已经安装了bison-2.4.1。最后实在是没办法了,下载了bison-2.5的rpm包直接安装。
[root@localhost ~]# wget http://ftp.gnu.org/gnu/bison/bison-2.5.tar.gz [root@localhost ~]# tar -zxvf bison-2.5.tar.gz [root@localhost ~]# cd bison-2.5 [root@localhost ~]# ./configure [root@localhost ~]# make && make install
再重新编译安装了PHP。然后/usr/local/apache2/bin/apachectl start启动Apache。惊奇的发现可以正常启动了,测试了下PHP网页,可以正常访问。
听说还有别人会报下面这个错误,我也一起写出来。
命令执行/usr/local/apache2/bin/apachectl start时,错误提示如下:
httpd: Syntax error on line 146 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied
这个是由于SELinux保护模式引起的。有2种方法可以解决。
第一种:永久关闭SELinux保护模式(不推荐,给服务器带来风险)
[root@localhost ~]# vi /etc/selinux/config
将SELINUX=enforcing 改成SELINUX=disabled
保存重启系统。
第二种方法:临时关闭selinux模式[root@localhost ~]# setenforce 0 [root@localhost ~]# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache/modules/libphp5.so
如果上面的命令报错,可以试试这个chcon -t texrel_shlib_t /usr/local/apache/modules/libphp5.so
如果还有报错,请使用帮助,根据帮助写命令。
[root@localhost ~]# service httpd restart [root@localhost ~]# setenforce 1
下一篇: 异常处理策略与重构
推荐阅读
-
非集成环境的php运行环境(Apache配置、Mysql)搭建安装图文教程
-
Spring Web项目spring配置文件随服务器启动时自动加载
-
Spring Web项目spring配置文件随服务器启动时自动加载
-
Win8系统升级后Apache服务启动失败的解决方法
-
windows无法启动MySQL服务报错1067的解决方法
-
apache服务器启动失败 无法启动的解决办法
-
linux下apache、mysql、php安装配置详细笔记
-
在PHP中运行Linux命令并启动SSH服务的例子
-
修改apache配置文件去除thinkphp url中的index.php
-
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)