指尖上的记忆指尖上的记忆
首页
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub
首页
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub

再次理解php.ini和php-fpm配置的关系,可以这样总结:

  1. php.ini 负责处理 PHP 的程序配置:

    • php.ini 是 PHP 的全局配置文件,定义了 PHP 的核心行为和资源限制,影响所有 PHP 程序的执行。它管理诸如内存限制、最大执行时间、错误日志、文件上传限制等配置。
    • 当 PHP 脚本在 PHP-FPM 进程中执行时,这些配置都会被加载并应用。
  2. php-fpm 负责管理 PHP 进程池和与 Web 服务器的交互:

    • php-fpm 是 PHP 的进程管理器,专门处理来自 Web 服务器(如 Nginx 或 Apache)发送的请求。它管理多个 PHP 进程池、负载均衡、进程资源分配等。
    • PHP-FPM 的任务是接收请求、分配合适的工作进程来处理 PHP 脚本请求,然后这些工作进程会加载 PHP 配置(包括 php.ini)来执行脚本。
流程简述:
  1. Web 服务器(如 Nginx 或 Apache) 接收到客户端的请求。
  2. Web 服务器将请求传递给 PHP-FPM(通常通过 FastCGI 协议)。
  3. PHP-FPM 根据配置决定如何处理请求:
    • 它根据配置的进程池(php-fpm.d 中的 www.conf 等配置文件)分配一个 PHP 进程来处理请求。
    • 该进程启动后,会加载 PHP 配置(包括 php.ini),并根据其中的设置来处理 PHP 脚本。
  4. PHP 执行完脚本后,PHP-FPM 将执行结果返回给 Web 服务器,最终响应客户端。
关键点:
  • php.ini 影响 PHP 脚本的执行行为,而 php-fpm 主要负责进程管理和请求分发。
  • PHP 脚本的执行会遵循 php.ini 中的配置,所以 PHP-FPM 管理的工作进程会在执行时依照 php.ini 设置来处理脚本。

综上所述,你理解得非常正确,PHP-FPM 是管理和分配 PHP 请求的,而 PHP 脚本执行时的所有配置(如内存限制、错误处理等)都由 php.ini 来控制。