温馨提示×

centos apache2怎样支持php

小樊
54
2026-09-24 06:01:13
栏目: 编程语言

在 CentOS 上,Apache 的软件包名是 httpd,而不是 apache2(apache2 是 Debian/Ubuntu 的叫法)。下面是在 CentOS 7 / 8 / Stream 上让 Apache 支持 PHP 的完整步骤。


一、安装 Apache(httpd)

sudo yum install -y httpd
# 或 CentOS 8 / Stream
sudo dnf install -y httpd

启动并设置开机自启:

sudo systemctl start httpd
sudo systemctl enable httpd

二、安装 PHP 及 Apache 支持模块

CentOS 7

sudo yum install -y php php-cli php-common php-devel

CentOS 8 / Stream

sudo dnf install -y php php-cli php-common php-fpm

CentOS 8 以后默认使用 PHP-FPM,而不是 mod_php


三、配置 Apache 支持 PHP

方式一:使用 mod_php(CentOS 7 常见)

安装后一般已自动配置好:

ls /etc/httpd/conf.modules.d/15-php.conf

确认包含:

LoadModule php7_module modules/libphp7.so

重启 Apache:

sudo systemctl restart httpd

方式二:使用 PHP-FPM(CentOS 8 推荐)

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

Apache 需加载 proxy_fcgi 模块:

sudo yum install -y mod_proxy_fcgi

在虚拟主机或 /etc/httpd/conf.d/php.conf 中添加:

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

重启服务:

sudo systemctl restart httpd php-fpm

四、测试 PHP 是否生效

创建测试文件:

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

浏览器访问:

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

看到 PHP 信息页即成功 ✅


五、常见问题

1. 页面直接显示 PHP 源码

  • Apache 未加载 PHP 模块
  • 未重启 httpd
  • 文件后缀不是 .php

2. 403 Forbidden

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

3. 防火墙

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

如果你告诉我:

  • CentOS 具体版本(7 / 8 / Stream)
  • 是否用 PHP-FPM
  • 是否宝塔 / LNMP 环境

我可以给你更精确的配置方案。

0 踩