首页主机资讯centos php环境怎么配置

centos php环境怎么配置

时间2025-12-09 22:35:06发布访客分类主机资讯浏览903
导读:CentOS PHP环境配置实操指南 一 环境准备与仓库 更新系统并安装 EPEL 仓库,获得更多可用软件包: 命令:sudo yum update -y 命令:sudo yum install -y epel-release 说明...

CentOS PHP环境配置实操指南

一 环境准备与仓库

  • 更新系统并安装 EPEL 仓库,获得更多可用软件包:
    • 命令:sudo yum update -y
    • 命令:sudo yum install -y epel-release
  • 说明:后续通过 yum 安装 PHPPHP-FPM 及常用扩展(如 php-mysqlnd、php-gd、php-mbstring、php-curl、php-xml、php-bcmath、php-zip、php-opcache)。

二 两种常见部署方案

  • 方案A LAMP(Apache + PHP)
    • 安装组件:sudo yum install -y httpd php php-mysqlnd
    • 启动服务:sudo systemctl start httpd & & sudo systemctl enable httpd
    • 说明:使用 mod_php 时,Apache 直接解析 PHP,无需额外配置 PHP-FPM。
  • 方案B LEMP(Nginx + PHP-FPM)
    • 安装组件:sudo yum install -y nginx php-fpm php-mysqlnd
    • 启动服务:sudo systemctl start nginx php-fpm & & sudo systemctl enable nginx php-fpm
    • 说明:Nginx 通过 FastCGI 将 PHP 请求交给 PHP-FPM 处理。

三 PHP与PHP-FPM核心配置

  • 定位并调整主配置
    • 查看配置文件路径:php -i | grep "Loaded Configuration File"
    • 常用参数(编辑 /etc/php.ini):
      • memory_limit = 256M
      • upload_max_filesize = 20M
      • post_max_size = 20M
      • max_execution_time = 300
      • date.timezone = "Asia/Shanghai"
      • error_reporting = E_ALL & display_errors = Off(生产建议关闭显示)
  • PHP-FPM 进程与监听(编辑 /etc/php-fpm.d/www.conf
    • 示例(Unix Socket,性能更好,权限需与 Web 服务一致):
      • listen = /run/php-fpm/www.sock
      • listen.owner = nginx
      • listen.group = nginx
      • listen.mode = 0660
      • user = nginx
      • group = nginx
      • 进程管理(示例):pm = dynamicpm.max_children = 50pm.start_servers = 5pm.min_spare_servers = 5pm.max_spare_servers = 35
    • 示例(TCP 端口):listen = 127.0.0.1:9000
    • 使配置生效:sudo systemctl restart php-fpm
  • 性能与安全要点
    • 启用 OPcache(推荐):sudo yum install -y php-opcache,在 /etc/php.d/opcache.ini 中设置 opcache.enable=1 并重启 php-fpm
    • 禁用危险函数(在 php.ini):disable_functions = exec,system,shell_exec,passthru,proc_open,proc_close,eval,assert

四 Web服务器与PHP对接

  • Nginx 配置示例(/etc/nginx/conf.d/default.conf)
    • 片段:
      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_index  index.php;
          
              fastcgi_pass   unix:/run/php-fpm/www.sock;
        # 或 127.0.0.1:9000
          }
      
      }
          
      
    • 使配置生效:sudo systemctl restart nginx
  • Apache 配置示例
    • 使用 mod_php(已安装 php 包即可):sudo systemctl restart httpd
    • 使用 PHP-FPM(启用代理模块并转发):
      <
          FilesMatch \.php$>
          
          SetHandler "proxy:fcgi://127.0.0.1:9000"
      <
          /FilesMatch>
          
      
    • 使配置生效:sudo systemctl restart httpd

五 测试与常见问题

  • 功能测试
    • 创建测试文件:echo "< ?php phpinfo(); " | sudo tee /var/www/html/info.php
    • 浏览器访问:http://your_server_ip/info.php,出现 PHP 信息页即表示环境可用。
  • 常见问题排查
    • 502/504:检查 PHP-FPM 是否运行、监听地址与 Nginx/Apache 配置是否一致、Socket 文件权限是否为 0660 且属主/属组匹配 Web 服务。
    • 权限与目录:确保 /var/www/html 对 Web 服务用户(如 nginx)可读可执行。
    • SELinux:如启用,使用 sudo setsebool -P httpd_can_network_connect 1 允许与 PHP-FPM 通信;或按需配置端口类型:sudo semanage port -a -t http_port_t -p tcp 80(如未安装 semanage,先安装 policycoreutils-python-utils)。
    • 防火墙:开放 80/443sudo firewall-cmd --permanent --add-service=http --add-service=https & & sudo firewall-cmd --reload
    • 配置热加载:修改 php.ini 后重启 php-fpm;修改 Nginx/Apache 后重启对应服务。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos php环境怎么配置
本文地址: https://pptw.com/jishu/767593.html
centos php如何解决报错 centos selinux作用是什么

游客 回复需填写必要信息