猿问

有个PHP-CGI运行过程的疑惑,求解惑

php-cgi使用过程有个疑惑,大牛们帮忙解惑一下。
假设场景如下:
nginx监听192.168.1.101:80,没有php环境
index.php192.168.1.101::/dev/shm/index.php
php-fpm监听192.168.1.102:90000
存在的困惑是,index.php在运行过程中,是在192.168.1.101进行解析运行,还是发送到192.168.1.102解析运行?详细的过程哪个大牛来给解惑一下?
如果是在1.102解析运行,一旦碰到phar这种比较大的代码包或者单个较大的php文件,是否是整个包一起发送过去?内网流量是不是很可观的样子?
POPMUISE
浏览 355回答 2
2回答

明月笑刀无情

感谢@白一梓,@eechen两位大拿的回答,其实问这个问题,想了解的是192.168.1.102这个机器上是否需要布php脚本。因为之前主要用的是apache,很少用到php-fpm~刚刚自己找了两台服务器搭了一下环境,大概理解了。其实php-fpm只是接收到nginx传过来的header,也就是fastcgi_param,然后找到SCRIPT_FILENAME之后,从1.102自身硬盘上加载脚本并执行,也就是nginx和php-fpm传输的过程,只是header,与脚本无关,然后通过header跟apache一样执行php代码~也就是,抛开apache的其他高级功能以及内部运行原理不谈,nginx+php-fpm和nginx+apache在运行的流程上是基本一样的~~
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答