apache 配置php报错,配置PHP启动Apache服务报错

在新的服务器(centos 6.3)编译安装完php-5.4.8,再配置好php.ini和httpd.conf后,启动apache-2.4.3的时候,命令执行/usr/local/apache2/bin/apachectl start时,提示: httpd: Syntax error on line 146 of /etc/httpd/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: undefined symbol: zend_parse_parameters

通过搜索发现,说是缺少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中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值