温馨提示×

CentOS如何搭建PHP开发环境

小樊
46
2025-11-23 18:14:08
栏目: 编程语言

CentOS 搭建 PHP 开发环境

一 准备与版本选择

  • 更新系统并安装常用仓库:执行 sudo yum update -ysudo yum install -y epel-release,为后续软件包提供依赖来源。
  • 选择堆栈:常见为 LAMP(Apache + MySQL + PHP)LEMP(Nginx + MySQL/MariaDB + PHP-FPM)
  • PHP 版本:发行版仓库通常提供较新的稳定版;如需特定版本(如 PHP 7.4/8.0),可考虑 Remi 等第三方仓库或使用源码编译。
  • 常用扩展建议:php-mysqlnd、php-gd、php-mbstring、php-xml、php-zip、php-bcmath、php-curl、php-opcache,覆盖大多数框架与开发需求。

二 安装与配置 LAMP 或 LEMP

  • 下表给出两种常用堆栈的核心步骤与命令(以 CentOS 7/8 的 yum/dnf 为例,按你的系统选择其一执行):
组件 LAMP(Apache 模块) LEMP(Nginx + PHP-FPM)
Web 服务器 安装:sudo yum install -y httpd;启动:sudo systemctl start httpd && sudo systemctl enable httpd 安装:sudo yum install -y nginx;启动:sudo systemctl start nginx && sudo systemctl enable nginx
PHP 安装:sudo yum install -y php php-mysqlnd php-gd php-mbstring php-xml php-zip php-bcmath php-curl;使模块生效:sudo systemctl restart httpd 安装:sudo yum install -y php-fpm php-mysqlnd php-gd php-mbstring php-xml php-zip php-bcmath php-curl;启动:sudo systemctl start php-fpm && sudo systemctl enable php-fpm
数据库 安装:sudo yum install -y mariadb-server(或 mysql-server);启动:sudo systemctl start mariadb && sudo systemctl enable mariadb;安全初始化:sudo mysql_secure_installation 同左
  • 说明:Apache 可直接使用模块方式解析 PHP;Nginx 需通过 PHP-FPM 处理 PHP 请求。

三 Nginx 与 PHP-FPM 协同配置要点

  • 确认 PHP-FPM 监听方式:编辑 /etc/php-fpm.d/www.conf,常见为 127.0.0.1:9000(TCP)或 /var/run/php-fpm/php-fpm.sock(Unix Socket)。
  • Nginx 站点配置示例(/etc/nginx/conf.d/default.conf 或 /etc/nginx/nginx.conf 的 server 块内):
    server {
        listen 80;
        server_name your_domain_or_ip;
        root /var/www/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   127.0.0.1:9000;   # 或 fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        }
    }
    
  • 使配置生效:sudo systemctl restart nginx(如有改动 php-fpm 监听,也需 sudo systemctl restart php-fpm)。

四 PHP 与系统环境变量配置

  • 查找 PHP 可执行文件路径:which php(常见为 /usr/bin/php/usr/local/bin/php)。
  • 当前用户生效:编辑 ~/.bashrc~/.bash_profile,在末尾添加 export PATH=$PATH:/usr/bin/php(路径按实际调整),执行 source ~/.bashrc 生效。
  • 全局生效:编辑 /etc/profile 添加相同行,执行 source /etc/profile 或重启。
  • 验证:php -v 能正确输出版本即成功。

五 测试与性能安全优化

  • 基础测试:在 /var/www/html 创建 info.php,内容 <?php phpinfo(); ?>,浏览器访问 http://服务器IP/info.php 看到 PHP 信息页即表示环境可用。
  • 性能优化:启用 OPcache(推荐开发环境也开启以提升响应),在 /etc/php.ini 中确保启用并合理设置:
    • opcache.enable=1
    • opcache.enable_cli=1(便于 CLI 开发调试)
    • opcache.memory_consumption=128
    • opcache.interned_strings_buffer=8
    • opcache.max_accelerated_files=4000
    • opcache.validate_timestamps=1(开发建议为 1,生产可设为 0 并配合部署流程)
    • opcache.revalidate_freq=60
    • 修改后重启对应服务(Apache:sudo systemctl restart httpd;PHP-FPM:sudo systemctl restart php-fpm)。
  • 安全建议:
    • 上线前删除或限制访问 info.php
    • 数据库使用强口令、限制远程访问、定期备份。
    • 遵循最小权限原则,分离 Web 与数据库运行账户。

0