共计 925 个字符,预计需要花费 3 分钟才能阅读完成。
首先,说一下问题发生的场景:
在 CentOS 7 下用 yum 安装 apache,因为 CentOS 的源自带 php 5.4 不能符合环境要求,而不想用其他源,所以选择源码编译安装 php 5.6
安装完毕后,apache 不解析 php,不解析的现象是浏览器直接显示或下载了 php 文件的源代码
过程略带说一下了,具体步骤自行搜索,然后重点说下容易踩的几个坑
1. yum 安装 apache 后,必须安装依赖包 httpd-devel,否则是不存在文件 apxs 的,而 apxs 的路径在编译 php 时需要配置
yum install httpd
yum install httpd-devel
2. 查看 apsx 所在路径
rpm -ql httpd-devel|grep apxs
/usr/bin/apxs // 此行为 grep 结果,不同系统的路径可能不同,以实际结果为准,下同
/sur/share/man/man1/apxs.1.gz
3. 编译 php 时,加入 apxs 路径参数,作用是促使生成 libphp5.so
./configure \
–with-apxs2=/usr/bin/apxs
4. 安装
make && make install
5. 配置服务、启动服务、环境变量,此处略
6. 修改 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 前面有一个空格
7. 重启服务
常用命令
# 设置开机启动:
systemctl enable httpd.service
# 启动服务:
systemctl start httpd.service
# 停止服务:
systemctl stop httpd.service
# 重启服务:
systemctl reload httpd.service
: