温馨提示×

centos php配置需要注意啥

小樊
34
2026-09-11 17:25:04
栏目: 编程语言

CentOS 上配置 PHP 时,有几个关键点容易踩坑,下面按「安装 → 配置 → 安全 → 排错」给你总结一下。


一、安装方式选择(很重要)

1️⃣ 系统自带 PHP(不推荐新项目)

yum install php php-cli
  • CentOS 7 默认是 PHP 5.4
  • CentOS 8 已停止维护
  • 适合老系统兼容,不适合新项目

2️⃣ Remi 源(推荐)

yum install epel-release
yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum install yum-utils
yum-config-manager --enable remi-php81
yum install php php-cli php-fpm

✅ 推荐版本:

  • PHP 8.1 / 8.2(生产稳定)
  • PHP 7.4(老项目)

二、PHP-FPM 是重点(Web 必配)

CentOS 上 Nginx + PHP 一定是 PHP-FPM

启动 & 开机自启

systemctl start php-fpm
systemctl enable php-fpm

关键配置文件

/etc/php-fpm.d/www.conf

常见注意点:

user = nginx
group = nginx
listen = /run/php-fpm/www.sock
; 或 listen = 127.0.0.1:9000

⚠️ Nginx 和 PHP-FPM 用户必须一致


三、php.ini 关键配置

位置:

/etc/php.ini

生产环境建议

display_errors = Off
log_errors = On
error_log = /var/log/php_errors.log

upload_max_filesize = 50M
post_max_size = 50M

max_execution_time = 60
memory_limit = 256M

cgi.fix_pathinfo=0   ; 防止 Nginx + PHP 安全漏洞

四、权限问题(CentOS 最常见坑)

1️⃣ 目录权限

chown -R nginx:nginx /var/www/html
chmod -R 755 /var/www/html

2️⃣ SELinux(很多人被卡死)

查看状态:

getenforce

临时关闭(不推荐长期):

setenforce 0

✅ 正确做法:

setsebool -P httpd_can_network_connect on
setsebool -P httpd_execmem on
chcon -R -t httpd_sys_content_t /var/www/html

五、防火墙

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

六、常见扩展安装

yum install php-mysqlnd php-gd php-mbstring php-xml php-curl php-zip

安装后重启:

systemctl restart php-fpm

七、日志排查(排错必看)

/var/log/php-fpm/error.log
/var/log/nginx/error.log
/var/log/php_errors.log

八、总结一句话

CentOS 配 PHP,核心是 PHP-FPM + 权限 + SELinux + php.ini 安全项

如果你告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • Web 服务(Nginx / Apache)
  • PHP 版本需求

我可以直接给你一套 完整可执行配置命令

0