首先,说一下问题发生的场景:

CentOS 7下用 yum 安装 apache ,因为 CentOS 的源自带 php 5.4 不能符合环境要求,而不想用其他源,所以选择源码编译安装 php 5.6

安装完毕后,apache 不解析 php ,不解析的现象是浏览器直接显示或下载了 php 文件的源代码

过程略带说一下了,具体步骤自行搜索,然后重点说下容易踩的几个坑

yum 安装 apache 后,必须安装依赖包 httpd-devel ,否则是不存在文件 apxs 的,而 apxs 的路径在编译 php 时需要配置

yum install httpd yum install httpd-devel

查看 apsx 所在路径

rpm -ql httpd-devel|grep apxs /usr/bin/apxs //此行为 grep 结果,不同系统的路径可能不同,以实际结果为准,下同 /sur/share/man/man1/apxs.1.gz

编译php时,加入 apxs 路径参数,作用是促使生成 libphp5.so

./configure 
--with-apxs2=/usr/bin/apxs

安装

make && make install

配置服务、启动服务、环境变量,此处略

修改apache配置文件,Centos7.4 下的apache2.4的配置文件路径为

vim /etc/httpd/conf/httpd.conf

//在LoadModule后面添加:LoadModule php5_module modules/libphp5.so //不添加则访问.php文件将会变成下载 //在DirectoryIndex后面添加:index.php //在AddType application/x-gzip .gz .tgz后面添加:AddType application/x-httpd-php .php //.php前面有一个空格

常用命令

#设置开机启动:systemctl enable httpd.service 
#启动服务: systemctl start httpd.service
#停止服务: systemctl stop httpd.service 
#重启服务: systemctl reload httpd.service

本文原创地址:https://www.linuxprobe.com/centos-yum-apache.html编辑:上官,审核员:逄增宝