Nginx和PHP-FPM 谁负责加载PHP文件?

发布于 2022-09-12 23:13:56 字数 143 浏览 21 评论 0

Nginx + PHP-FPM是 Nginx先读取index.php 发给 PHP-FPM,然后 PHP-FPM 执行 index.php的require_once 加载其他PHP文件?

还是说Nginx只是告诉PHP-FPM入口文件index.php的路径?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

苏辞 2022-09-19 23:13:56

简而言之PHP-FPM负责处理PHP文件。

FPMfastcgi process manager的简称,它是一个fastcgi进程管理器。所以nginx接受到HTTP请求,然后把它转化为fastcgi请求发送给PHP-FPMPHP-FPM接收到请求后找到相应php文件,用php引擎执行它,再把结果返回给nginxnginx把它转化为HTTPResponse返回给浏览器。

sequenceDiagram
    participant 浏览器
    participant Nginx
    participant PHP FPM
    浏览器->>Nginx: HTTP Request
    Nginx->>PHP FPM: FastCGI Request
    PHP FPM->>Nginx: FastCGI Response
    Nginx->浏览器: HTTP Response
污味仙女 2022-09-19 23:13:56

看nginx配置,fastcgi_param 传递了php脚本文件地址

location / {
  fastcgi_pass   localhost:9000;
  fastcgi_index  index.php;

  fastcgi_param  SCRIPT_FILENAME  /home/www/scripts/php$fastcgi_script_name;
  fastcgi_param  QUERY_STRING     $query_string;
  fastcgi_param  REQUEST_METHOD   $request_method;
  fastcgi_param  CONTENT_TYPE     $content_type;
  fastcgi_param  CONTENT_LENGTH   $content_length;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文