配置PHP启动Apache服务报错
為什么80%的碼農都做不了架構師?>>> ??
在新的服務器(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轉載于:https://my.oschina.net/liting/blog/383235
總結
以上是生活随笔為你收集整理的配置PHP启动Apache服务报错的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python-snap7使用说明
- 下一篇: 小程序 获取当前用户地址及地图显示