温馨提示×

centos上php环境怎么搭建

小樊
39
2025-11-15 19:22:51
栏目: 编程语言

CentOS 上搭建 PHP 环境的实用步骤

一、准备与版本选择

  • 更新系统并安装常用工具:执行 sudo yum update -y,确保系统软件为最新。
  • 选择堆栈:常见为 LAMP(Apache+MySQL+PHP)LEMP(Nginx+MySQL/MariaDB+PHP)
  • 选择 PHP 版本:生产环境建议使用 PHP 7.4/8.0/8.1+。CentOS 7/8 默认仓库版本通常较旧,可通过 EPELRemi 仓库安装更新版本(如 php80w/php81w 或 Remi 提供的多版本)。

二、安装与配置 LAMP(Apache 模块方式)

  • 安装软件:sudo yum install -y httpd mariadb-server php php-mysqlnd php-gd php-mbstring php-xml php-bcmath
  • 启动与开机自启:
    • sudo systemctl start httpd && sudo systemctl enable httpd
    • sudo systemctl start mariadb && sudo systemctl enable mariadb
    • 运行安全初始化:sudo mysql_secure_installation
  • 验证与测试:
    • 查看版本:php -v
    • 创建测试页:echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
    • 浏览器访问:http://服务器IP/info.php
  • 说明:此方式使用 mod_php(Apache 内置模块)处理 PHP,部署简单,适合快速上手。

三、安装与配置 LEMP(Nginx + PHP-FPM)

  • 安装软件:sudo yum install -y nginx php-fpm php-mysqlnd php-gd php-mbstring php-xml php-bcmath
  • 启动与开机自启:
    • sudo systemctl start nginx && sudo systemctl enable nginx
    • sudo systemctl start php-fpm && sudo systemctl enable php-fpm
  • 配置 PHP-FPM:编辑 /etc/php-fpm.d/www.conf,常用设置
    • 监听方式(二选一):
      • Unix Socket:listen = /run/php-fpm/www.sock
      • TCP:listen = 127.0.0.1:9000
    • 进程用户/组:如 user = nginxgroup = nginx(与 Nginx 运行用户保持一致更安全)
    • 重启:sudo systemctl restart php-fpm
  • 配置 Nginx(示例,/etc/nginx/conf.d/default.conf):
    server {
        listen 80;
        server_name your_domain_or_ip;
        root /usr/share/nginx/html;
        index index.php index.html;
    
        location / {
            try_files $uri $uri/ =404;
        }
    
        location ~ \.php$ {
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_pass unix:/run/php-fpm/www.sock;  # 若用TCP,改为 127.0.0.1:9000
        }
    }
    
    • 检查并重载:sudo nginx -t && sudo systemctl reload nginx
  • 测试:同 LAMP,访问 http://服务器IP/info.php 验证。

四、常用扩展与性能优化

  • 常用扩展建议:php-mysqlnd、php-gd、php-mbstring、php-xml、php-bcmath、php-curl、php-zip、php-opcache。示例:sudo yum install -y php-opcache php-redis php-swoole(Remi 源下可直接安装)。
  • 启用 OPcache(推荐):编辑 /etc/php.ini
    opcache.enable=1
    opcache.memory_consumption=128
    opcache.interned_strings_buffer=8
    opcache.max_accelerated_files=4000
    opcache.revalidate_freq=60
    
    重启服务:sudo systemctl restart php-fpm(或 httpd)。
  • Swoole 扩展(按需):安装编译依赖后通过 PECL 安装
    • sudo yum install -y php-devel gcc libtool
    • sudo pecl install swoole
    • 在 php.ini 中加入 extension=swoole.so 并重启 PHP-FPM。

五、安全与维护要点

  • 运行权限:确保 PHP-FPM 与 Nginx/Apache 运行用户一致(如 nginx:nginxapache:apache),并对 /run/php-fpm 与网站目录设置正确属主与权限。
  • 安全配置:
    • 限制文件访问:在 php.ini 设置 open_basedir 指向项目目录
    • 隐藏信息页:上线后删除或限制访问 /info.php
    • 防火墙:仅开放 80/443(生产建议启用 HTTPS)
  • 版本升级与多版本共存:
    • 使用 Remi 仓库 的模块化方式切换版本(如启用 remi-php80/81),避免直接 yum remove php* 导致依赖断裂
    • 升级前备份配置与数据,逐项目验证兼容性。

0