温馨提示×

centos怎样配置php环境

小樊
38
2026-10-08 17:03:50
栏目: 编程语言

在 CentOS 上配置 PHP 环境,通常分为 安装 PHP + Web 服务器(Apache/Nginx)+ 数据库(可选)。下面我按常见场景一步步说明(以 CentOS 7 / 8 为主,CentOS 6 已停止维护,不建议使用)。


一、准备工作

1. 更新系统

sudo yum update -y

2. 安装 EPEL 源(推荐)

sudo yum install -y epel-release

二、安装 PHP(推荐用 Remi 源,版本更新)

CentOS 7

sudo yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum install -y yum-utils

CentOS 8

sudo dnf install -y http://rpms.remirepo.net/enterprise/remi-release-8.rpm
sudo dnf install -y dnf-utils

三、安装指定 PHP 版本(例如 PHP 8.1)

启用 PHP 8.1

# CentOS 7
sudo yum-config-manager --enable remi-php81

# CentOS 8
sudo dnf module reset php
sudo dnf module enable php:remi-8.1

安装 PHP 及常用扩展

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

查看版本:

php -v

四、配置 Web 服务器

方案 1:Apache(httpd)

安装 Apache

sudo yum install -y httpd
sudo systemctl start httpd
sudo systemctl enable httpd

测试 PHP

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

浏览器访问:

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

方案 2:Nginx + PHP-FPM(推荐生产环境)

安装 Nginx

sudo yum install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx

启动 PHP-FPM

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

配置 Nginx 支持 PHP

编辑:

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

示例配置:

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

    location / {
        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:

sudo systemctl restart nginx

测试:

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

五、防火墙设置(重要)

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

六、可选:安装 MySQL / MariaDB

sudo yum install -y mariadb-server
sudo systemctl start mariadb
sudo systemctl enable mariadb

初始化:

sudo mysql_secure_installation

七、常见问题

1. PHP 页面下载而不是解析

  • Apache:确认 php 模块已安装
  • Nginx:确认 php-fpm 正在运行

2. 权限问题

sudo chown -R nginx:nginx /usr/share/nginx/html

如果你告诉我:

  • ✅ CentOS 版本(7 / 8 / Stream)
  • ✅ 用 Apache 还是 Nginx
  • ✅ 是否搭建 Laravel / WordPress / ThinkPHP

我可以直接给你量身定制的配置方案。

0 踩