温馨提示×

CentOS怎么配置PHP服务

小樊
50
2026-08-18 11:40:47
栏目: 编程语言

在 CentOS 上配置 PHP 服务,通常指 安装 PHP + 配置 PHP-FPM + 与 Web 服务器(Nginx / Apache)配合使用。下面我按 最常见、最推荐的方式 给你一个完整流程(适用于 CentOS 7 / 8 / Stream)。


一、确认系统版本

cat /etc/centos-release

二、安装 PHP(推荐 PHP-FPM)

✅ 方式一:使用 Remi 仓库(推荐,版本新)

1️⃣ 安装 EPEL 和 Remi

# CentOS 7
yum install -y epel-release
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm

# CentOS 8 / Stream
dnf install -y epel-release
dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm

2️⃣ 查看可用 PHP 版本

yum module list php
# 或
dnf module list php

3️⃣ 启用指定 PHP 版本(如 PHP 8.1)

yum module enable php:remi-8.1 -y
# 或
dnf module enable php:remi-8.1 -y

4️⃣ 安装 PHP + PHP-FPM

yum install -y php php-fpm php-cli php-mysqlnd php-json php-gd php-mbstring php-xml php-curl

三、PHP-FPM 服务配置

1️⃣ 启动并设置开机自启

systemctl start php-fpm
systemctl enable php-fpm

2️⃣ 查看状态

systemctl status php-fpm

四、PHP-FPM 配置文件路径

文件 说明
/etc/php-fpm.conf 主配置
/etc/php-fpm.d/www.conf 默认进程池
/etc/php.ini PHP 全局配置

常见修改(www.conf)

vim /etc/php-fpm.d/www.conf
user = nginx
group = nginx
listen = /run/php-fpm/www.sock
listen.owner = nginx
listen.group = nginx

如果用 Apache,可改为 apache


五、与 Web 服务器对接

✅ Nginx + PHP(最常见)

1️⃣ 安装 Nginx

yum install -y nginx
systemctl enable --now nginx

2️⃣ Nginx 配置支持 PHP

server {
    listen 80;
    server_name localhost;
    root /usr/share/nginx/html;

    location ~ \.php$ {
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

3️⃣ 重启服务

systemctl restart nginx
systemctl restart php-fpm

4️⃣ 测试 PHP

echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/info.php

浏览器访问:

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

✅ Apache + PHP(mod_php / php-fpm)

使用 php-fpm(推荐)

yum install -y httpd
systemctl enable --now httpd

Apache 配置:

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

六、PHP 常用配置调整(php.ini)

vim /etc/php.ini

常见参数:

date.timezone = Asia/Shanghai
upload_max_filesize = 50M
post_max_size = 50M
memory_limit = 256M
max_execution_time = 300

修改后重启:

systemctl restart php-fpm

七、防火墙放行(如启用)

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

八、常见问题排查

✅ PHP 不解析

  • Nginx 未配置 fastcgi_pass
  • PHP-FPM 未启动
  • sock 权限错误

✅ 502 Bad Gateway

ls -l /run/php-fpm/www.sock

确保 nginx/apache 有访问权限

✅ 端口占用

ss -lntp | grep php

九、总结一句话

CentOS 配置 PHP 服务 = 安装 PHP-FPM + 配置 Web 服务器 + 调整 php.ini


如果你告诉我:

  • ✅ CentOS 7 还是 8 / Stream
  • ✅ 用 Nginx 还是 Apache
  • ✅ 是生产环境还是本地测试

我可以给你 完全定制化的配置方案。

0 踩