温馨提示×

CentOS如何配置PHP运行

小樊
41
2026-08-18 11:37:47
栏目: 编程语言

CentOS 上配置 PHP 运行环境,常见做法取决于你使用的是 CentOS 7 / 8 / Stream,以及是否搭配 Apache / Nginx。下面给你一套最常用、可落地的配置方案,从安装到运行 PHP 页面。


一、确认系统版本

cat /etc/centos-release

二、安装 PHP(推荐方式)

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

适合 CentOS 7 / 8 / Stream

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 及常用扩展

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

三、配置 PHP 运行方式

✅ 方式一:PHP + Apache(mod_php / php-fpm)

1️⃣ 安装 Apache

yum install -y httpd

2️⃣ 启动并设置开机启动

systemctl start httpd
systemctl enable httpd

3️⃣ 配置 PHP(php-fpm 推荐)

systemctl start php-fpm
systemctl enable php-fpm

编辑 Apache 配置:

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

确保包含:

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

重启 Apache:

systemctl restart httpd

✅ 方式二:PHP + Nginx(必须 php-fpm)

1️⃣ 安装 Nginx

yum install -y nginx

2️⃣ 启动 php-fpm

systemctl start php-fpm
systemctl enable php-fpm

3️⃣ 配置 Nginx 支持 PHP

编辑站点配置:

vi /etc/nginx/conf.d/default.conf

示例:

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

    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

重启 Nginx:

systemctl restart nginx

四、测试 PHP 是否运行

创建测试文件:

echo "<?php phpinfo(); ?>" > /var/www/html/index.php

浏览器访问:

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

✅ 看到 PHP Info 页面说明配置成功


五、防火墙放行(如无法访问)

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

六、常见 PHP 配置调整

编辑:

vi /etc/php.ini

常用参数:

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

重启服务生效:

systemctl restart php-fpm

七、常见问题排查

❌ PHP 文件被下载而不是执行

  • Apache/Nginx 未正确配置 PHP 解析
  • php-fpm 未启动

❌ 502 Bad Gateway

systemctl status php-fpm
netstat -tlnp | grep 9000

如果你愿意,可以告诉我:

  • ✅ CentOS 具体版本
  • ✅ 使用 Apache 还是 Nginx
  • ✅ 是否用于 Laravel / ThinkPHP / WordPress

我可以直接给你 一套完整可用的配置示例

0