在 CentOS 上配置 PHP 运行环境,常见做法取决于你使用的是 CentOS 7 / 8 / Stream,以及是否搭配 Apache / Nginx。下面给你一套最常用、可落地的配置方案,从安装到运行 PHP 页面。
cat /etc/centos-release
适合 CentOS 7 / 8 / Stream
# 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
yum module list php
# 或
dnf module list php
yum module enable php:remi-8.1 -y
# 或
dnf module enable php:remi-8.1 -y
yum install -y php php-cli php-fpm php-mysqlnd php-json php-gd php-xml php-mbstring php-curl
yum install -y httpd
systemctl start httpd
systemctl enable httpd
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
yum install -y nginx
systemctl start php-fpm
systemctl enable php-fpm
编辑站点配置:
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
创建测试文件:
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
编辑:
vi /etc/php.ini
常用参数:
upload_max_filesize = 50M
post_max_size = 50M
memory_limit = 256M
date.timezone = Asia/Shanghai
重启服务生效:
systemctl restart php-fpm
systemctl status php-fpm
netstat -tlnp | grep 9000
如果你愿意,可以告诉我:
我可以直接给你 一套完整可用的配置示例。