apache2.4与php5.4整合遇到的问题

发布时间:2019-08-07 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了apache2.4与php5.4整合遇到的问题脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

说明

apache2.4. 码安装
php5.4 yum安装

问题

apache无法解析php

解决过程

1.打开httpd.conf文件,发现没载入libphp5.so模块。
网上很多网友给出,这么载入 LoadModule php5_module modules/libphp5.so 然而我发现我的modules包里根本没有libphp5.so
2.于是 find / -name libphp5.so 发现目标 /usr/lib64/httpd/modules/libphp5.so
3.于是打开httpd.conf文件,载入libphp5.so模块

LoadModule php5_module modules /usr/lib64/httpd/modules/libphp5.so

启动apache报错如下:
Starting httpd: httpd: Syntax error on line 166 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/lib64/httpd/modules/libphp5.so into server: /usr/lib64/httpd/modules/libphp5.so: undefined symbol: unixd_config

于是各种查询各种查询,发现大多数都是apache2.2与php5.4整合使用,有的说apache2.4与php5.4不兼容。但是客户就是这个版本,也必须要求这个版本。于是再各种查询,最后在apache2.4官方文档上发现

unixd_config
This has been renamed to ap_unixd_config.

没错,人家apache2.4已经没有unixd_config了,改名了!
于是得出,我的php5.4确实不兼容我的apache2.4。
于是yum卸载掉php5.4.45。
于是重新源码安装php5.4.45

$ yum -y install libXMl2 libxML2-devel
$ tar -zxvf php-5.4.45.tar.gz
$ cd php-5.4.45
$ ./configure --PRefix=/usr/local/php --wITh-apxs2=/usr/local/apache2/bin/apxs --with-libxml2=/usr/include/libxml2
$ make
$ make install php

安装完再次查看apache2的配置文件,载入php模块的代码已出现(必须设置:--with-apxs2=/usr/local/apache2/bin/apxs才有)

#LoadModule php5_module        modules/libphp5.so

于是,去掉注释符,再加入以下配置

AddTyPE application/x-httpd-php .html  #没有此配置,解析不了html文件中的php代码
AddHandler php5-script .php            #没有此配置,php网页不能被正确解析打开,而是被浏览器下载

重新启动apache:成功!
读取php网页:成功!
读取带php代码的html网页:成功!

脚本宝典总结

以上是脚本宝典为你收集整理的apache2.4与php5.4整合遇到的问题全部内容,希望文章能够帮你解决apache2.4与php5.4整合遇到的问题所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。