首页主机资讯Linux服务器上PHP如何配置

Linux服务器上PHP如何配置

时间2025-12-08 19:40:03发布访客分类主机资讯浏览449
导读:Linux服务器上PHP配置全流程 一 安装与基础检查 更新索引并安装所需组件(以 Ubuntu/Debian 为例): 安装 Web 与 PHP:sudo apt update && sudo apt install...

Linux服务器上PHP配置全流程

一 安装与基础检查

  • 更新索引并安装所需组件(以 Ubuntu/Debian 为例):
    • 安装 Web 与 PHP:sudo apt update & & sudo apt install nginx php-fpm php-mysql php-cli php-gd php-curl php-mbstring php-xml php-zip
    • 安装 Apache 方案:sudo apt install apache2 libapache2-mod-php
  • 其他发行版常用命令:
    • CentOS/RHELsudo yum install php php-fpm php-mysqlnd(或使用 dnf
  • 验证安装:php -v;查看加载的配置:php --ini(确认 Loaded Configuration File 路径)。

二 配置文件与关键参数

  • 配置文件位置(按 SAPI 区分,版本号以实际为准,如 7.4/8.1/8.2):
    • FPM/CLI:/etc/php/{ version} /fpm/php.ini/etc/php/{ version} /cli/php.ini
    • Apache 模块:/etc/php/{ version} /apache2/php.ini
  • 常用参数建议(在 php.ini 中调整):
    • 资源与执行:memory_limit = 256Mmax_execution_time = 30
    • 上传与请求:upload_max_filesize = 20Mpost_max_size = 8M(注意通常 post_max_size ≥ upload_max_filesize
    • 错误与日志:error_reporting = E_ALLdisplay_errors = Off(生产环境建议关闭显示,写入日志)、error_log = /var/log/php-fpm/error.log
    • 时区:date.timezone = Asia/Shanghai
  • 生效方式:修改后重启对应服务(见第四节)。

三 与 Web 服务器集成

  • Nginx + PHP-FPM(推荐)
    • 站点配置示例(/etc/nginx/sites-available/default 或 yourdomain.com):
      server {
          
          listen 80;
          
          server_name yourdomain.com;
          
          root /var/www/html;
          
          index index.php index.html;
      
      
          location / {
          
              try_files $uri $uri/ =404;
      
          }
      
      
          location ~ \.php$ {
          
              include snippets/fastcgi-php.conf;
      
              fastcgi_pass unix:/run/php/php{
      version}
          -fpm.sock;
            # 按实际版本调整
              fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
          
              include fastcgi_params;
      
          }
      
      
          location ~ /\.ht {
          
              deny all;
      
          }
      
      }
          
      
    • 检查并重载:sudo nginx -t & & sudo systemctl reload nginx
  • Apache + mod_php
    • 启用模块与默认索引:sudo a2enmod php{ version} ;编辑 /etc/apache2/mods-enabled/dir.confindex.php 置于 DirectoryIndex 首位
    • 重启:sudo systemctl restart apache2
  • 目录与权限:确保 /var/www/html 可被 www-data(或相应运行用户)读取。

四 PHP-FPM 进程与性能优化

  • 核心池配置(/etc/php/{ version} /fpm/pool.d/www.conf):
    • 监听与权限:listen = /run/php/php{ version} -fpm.socklisten.owner = www-datalisten.group = www-datauser = www-datagroup = www-data
    • 进程管理(示例,按内存与并发调优):
      • pm = dynamic
      • pm.max_children = 50
      • pm.start_servers = 5
      • pm.min_spare_servers = 1
      • pm.max_spare_servers = 3
      • pm.max_requests = 500
    • 超时与日志:request_terminate_timeout = 30sslowlog = /var/log/php-fpm/slow.logrequest_slowlog_timeout = 10s
  • 启动与开机自启:sudo systemctl start php{ version} -fpm & & sudo systemctl enable php{ version} -fpm

五 测试与排错

  • 创建测试文件:sudo nano /var/www/html/info.php,内容:
    <
        ?php
    phpinfo();
        
    ?>
    
    
    访问 http://服务器IP/info.php,确认 PHP 版本、SAPI、Loaded Configuration File、扩展 是否正常。
  • 常见问题速查
    • 502/504:检查 PHP-FPM 是否运行、套接字路径(如 /run/php/php{ version} -fpm.sock)与 Nginx fastcgi_pass 是否一致,查看 /var/log/php-fpm/error.logNginx error.log
    • 上传受限:核对 upload_max_filesizepost_max_size,并确保 Nginx 未设置更小的 client_max_body_size
    • 权限问题:确认 /var/www/html 及日志目录对 www-data 可读写
    • 找不到 php.ini:执行 php --ini 确认加载路径,再编辑对应 SAPI 的 ini 文件。

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


若转载请注明出处: Linux服务器上PHP如何配置
本文地址: https://pptw.com/jishu/766250.html
PHP如何在Linux上处理并发 PHP在Linux上如何实现安全

游客 回复需填写必要信息