A brief introduction to the operating principles and modes of php-fpm

不言
Release: 2023-04-05 13:06:02
forward
3350 people have browsed it

This article brings you a brief introduction to the operating principles and modes of php-fpm. It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.

Operation principle:

cgi initialization phase: call the fcgi_init() and sapi_startup() functions respectively, register process signals and initialize the sapi_globals global variable.

php environment initialization phase: triggered by cgi_sapi_module.startup. The php_cgi_startup function is actually called, and php_cgi_startup internally calls php_module_startup for execution. The main functions of php_module_startup: a). Load and parse php configuration; b). Load php module and record it in the function symbol table (function_table); c). Load zend extension; d). Set disabled functions and class library configuration; e). Register the memory recovery method;

php-fpm initialization phase: execute the fpm_init() function. Responsible for parsing the php-fpm.conf file configuration, obtaining process-related parameters (the maximum number of files allowed to be opened by the process, etc.), initializing the process pool and event model and other operations.

php-fpm running phase: execute the fpm_run() function, and the main process will be blocked after running. This phase is divided into two parts: fork child process and loop event. The fork child process part is handled by the fpm_children_create_initial function (Note: ondemand mode is created in the fpm_pctl_on_socket_accept function). The loop event part is processed through the fpm_event_loop function, which is an infinite loop inside and is responsible for event collection.

Running mode

php-fpm supports three running modes, namely static, ondemand, and dynamic. The default is dynamic.

static: Static mode, a fixed worker process is allocated at startup.

ondemand: Allocate on demand, fork the worker process when a user request is received. ondemand: Allocate on demand, fork the worker process when a user request is received.

dynamic: Dynamic mode, a fixed process is allocated at startup. As the number of requests increases, adjust the worker process within the set floating range

The above is the detailed content of A brief introduction to the operating principles and modes of php-fpm. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:csdn.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!