温馨提示×

centos apache2怎样配php

小樊
52
2026-10-14 18:31:20
栏目: 编程语言

在 CentOS 上,Apache 的服务名通常是 httpd(不是 apache2,apache2 是 Debian/Ubuntu 的叫法)。下面是在 CentOS 上配置 Apache + PHP 的常见做法。


一、安装 Apache 和 PHP

1. 安装 Apache

sudo yum install -y httpd

启动并设置开机自启:

sudo systemctl start httpd
sudo systemctl enable httpd

2. 安装 PHP

以 PHP 7.4 为例(CentOS 7):

sudo yum install -y epel-release
sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum install -y yum-utils
sudo yum-config-manager --enable remi-php74
sudo yum install -y php php-cli php-common php-mysqlnd php-fpm

如果是 CentOS 8,可用 dnf:

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

二、让 Apache 支持 PHP

1. 确认 PHP 模块已加载

CentOS 的 Apache 通常会自动加载:

httpd -M | grep php

看到类似:

php7_module (shared)

如果没有,可安装:

sudo yum install -y php

(会自动关联 httpd)


2. 配置虚拟主机(可选)

编辑配置文件:

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

一般已包含:

<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

三、测试 PHP

创建测试文件:

sudo vi /var/www/html/info.php

内容:

<?php
phpinfo();

浏览器访问:

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

看到 PHP 信息页面即成功。


四、常见问题

1. 页面直接下载 PHP 文件

说明 Apache 没识别 PHP,检查:

  • php 模块是否安装
  • php.conf 是否启用
  • 重启 Apache:
sudo systemctl restart httpd

2. 防火墙

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

3. SELinux(常见坑)

如果访问不了:

sudo setenforce 0

(临时关闭,生产建议正确配置上下文)


如果你用的是 CentOS 7 / 8 / Stream,或者想用 PHP-FPM + Apache,可以告诉我,我可以给你更精确的配置。

0 踩