温馨提示×

centos怎样整合php与apache2

小樊
47
2026-10-23 12:53:17
栏目: 编程语言

在 CentOS 上把 PHP 与 Apache(httpd) 整合,通常有两种主流方式:

  1. PHP 作为 Apache 模块(mod_php) ✅(传统、简单,CentOS 常见)
  2. PHP-FPM + Apache(proxy_fcgi) ✅(推荐,性能更好)

下面分别说明(以 CentOS 7 / 8 为例,PHP 7.x)。


一、PHP 作为 Apache 模块(mod_php,最简单)

1. 安装 Apache 和 PHP

sudo yum install httpd php php-cli php-common

CentOS 8 用:

sudo dnf install httpd php php-cli

2. 启动 Apache

sudo systemctl start httpd
sudo systemctl enable httpd

3. 测试 PHP

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

浏览器访问:

http://服务器IP/info.php

看到 PHP 信息页即成功。

⚠️ CentOS 8 默认不再提供 mod_php,需用 PHP-FPM 方式


二、PHP-FPM + Apache(推荐方式)

1. 安装组件

sudo yum install httpd php php-fpm

2. 启动 PHP-FPM 和 Apache

sudo systemctl start php-fpm
sudo systemctl enable php-fpm

sudo systemctl start httpd
sudo systemctl enable httpd

3. 配置 Apache 使用 PHP-FPM

编辑 Apache 配置:

sudo vi /etc/httpd/conf.d/php.conf

内容示例(CentOS 7):

<FilesMatch \.php$>
    SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>

或(socket 方式,CentOS 8):

<FilesMatch \.php$>
    SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost"
</FilesMatch>

4. 重启服务

sudo systemctl restart httpd

三、常见问题排查

1. 页面直接下载 php 文件

说明 Apache 没识别 PHP
✅ 检查是否安装 php
✅ 是否加载 mod_php 或 php-fpm 配置

2. 权限问题

sudo chown -R apache:apache /var/www/html

3. 防火墙

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

四、推荐方案总结

场景 建议
学习 / 内部测试 mod_php
生产环境 PHP-FPM
高并发 PHP-FPM

如果你告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • PHP 版本
  • Apache 是否已安装

我可以给你精确命令。

0 踩