在 CentOS 上让 Apache 整合 PHP,通常有以下几种常见方式。下面以 CentOS 7 / 8 为例,从最常用的方法讲起。
yum install httpd -y
systemctl start httpd
systemctl enable httpd
CentOS 默认仓库 PHP 版本较低,建议用 Remi 仓库。
yum install epel-release -y
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
yum install yum-utils -y
yum-config-manager --enable remi-php74
yum install php php-cli php-common php-devel -y
dnf install php php-cli php-common httpd -y
mod_php 会自动配置,一般无需手动改。
确认:
httpd -M | grep php
应看到 php7_module
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
浏览器访问:
http://服务器IP/info.php
yum install php-fpm -y
systemctl start php-fpm
systemctl enable php-fpm
创建配置文件:
vi /etc/httpd/conf.d/php-fpm.conf
内容:
<FilesMatch \.php$>
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
systemctl restart httpd
systemctl restart php-fpm
说明 Apache 没识别 PHP,检查:
chown -R apache:apache /var/www/html
chmod -R 755 /var/www/html
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
| 方式 | 适合场景 |
|---|---|
| mod_php | 简单、老项目 |
| PHP-FPM | 高并发、生产环境 ✅ |
如果你是 CentOS 版本 / PHP 版本 / 具体报错 不确定,可以告诉我,我可以给你精确命令。