PHP的进程的疑惑

1.两个人同时访问一个文件时,PHP会有两个进程吗?比如for($i=0;$i<1000000){echo'aaa';
}A用户还没执行完,B用户又来了。
婷婷同学_
浏览 294回答 2
2回答

红糖糍粑

假设配置了5个PHP-FPMworker进程.pm=staticpm.max_children=5epoll事件驱动(events.mechanism=epoll)的master进程会把新的请求分配给空闲的worker进程.如果没有空闲的worker进程,master进程会把请求分配一个其中一个正常处理其他请求的worker进程,进入到backlog挂起的连接队列里,排队等待处理,默认值为listen.backlog=128.像Linux,Nginx,MySQL也都有backlog这个概念:Linux:sudosysctl-a|grepbacklognet.ipv4.tcp_max_syn_backlog=256Nginx:listen80backlog=511;MySQL:showvariableslike'back_log'Variable_nameValueback_log80

富国沪深

如果是跑在fastcgi上的,就是多个进程;如果是跑Apache模块里的,则是多个线程,一个请求对应一个进程/线程,一个进程/线程只能同时处理一个请求。现在有些仿reactor模式的PHP框架可以做到单进程/线程同时处理多个请求的,比如Swoole
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript