fpm_init
2015-11-04 14:23:07 0 举报
`fpm_init` 是一个函数,用于初始化 FastCGI Process Manager(FPM)进程。FPM 是一个 PHP FastCGI 应用程序管理器,它可以用来管理 PHP 应用的生命周期。`fpm_init` 函数通常在启动 FPM 进程时调用,它会执行一些必要的初始化操作,例如设置环境变量、加载配置文件等。这个函数的返回值通常是 FPM 进程的主 PID(进程 ID),可以通过这个 PID 来监控和管理 FPM 进程。在使用 `fpm_init` 函数之前,需要确保已经安装了 FPM,并且正确配置了相关参数。
作者其他创作
大纲/内容
/* pm */if (wp-config-pm != PM_STYLE_STATIC && wp-config-pm != PM_STYLE_DYNAMIC && wp-config-pm != PM_STYLE_ONDEMAND) {
if (0 fpm_stdio_open_error_log(0))
struct fpm_worker_pool_config_s *config = wp-config;if (!fpm_event_support_edge_trigger()) {if (config-pm_process_idle_timeout listen_backlog listen_backlog = FPM_BACKLOG_DEFAULT;/* certainely useless but proper */config-pm_start_servers = 0;config-pm_min_spare_servers = 0;config-pm_max_spare_servers = 0;
struct fpm_event_module_s *fpm_event_poll_module()
enum fpm_address_domain fpm_sockets_domain_from_address(char *address)
if (fpm_globals.prefix && *fpm_globals.prefix) {if (!fpm_conf_is_dir(fpm_globals.prefix)) {
if (config-pm_min_spare_servers pm_max_spare_servers pm_min_spare_servers config-pm_max_children || config-pm_max_spare_servers config-pm_max_children) {if (config-pm_max_spare_servers pm_min_spare_servers) {if (config-pm_start_servers pm_start_servers = config-pm_min_spare_servers + ((config-pm_max_spare_servers - config-pm_min_spare_servers) / 2);} else if (config-pm_start_servers pm_min_spare_servers || config-pm_start_servers config-pm_max_spare_servers) {
/* security.limit_extensions */if (!wp-config-security_limit_extensions) {wp-config-security_limit_extensions = strdup(\".php .phar\");
static inline int fpm_use_error_log()
fpm_stdio_init_main()
struct fpm_event_module_s *fpm_event_devpoll_module()
return module ? module-support_edge_trigger : 0;
fpm_php_init_main()
struct fpm_event_module_s *fpm_event_port_module()
int fpm_php_init_main()
/* status */if (wp-config-pm_status_path && *wp-config-pm_status_path) {
/* alert if user is not set only if we are not root*/if (!wp-config-user && !geteuid()) {
/* ping */if (wp-config-ping_path && *wp-config-ping_path) {if (!wp-config-ping_response) {wp-config-ping_response = strdup(\"pong\");
static int fpm_conf_process_all_pools()
#if HAVE_PORTreturn &port_module;#else return NULL;
{
fpm_conf_post_process(force_daemon TSRMLS_CC)
fpm_conf_process_all_pools()
if (test_conf) {if (test_conf 1) {fpm_conf_dump();fpm_globals.test_successful = 1;
Y
if (0 fpm_systemd_conf())
if (wp && wp-config) {prefix = wp-config-prefix; /* if the wp prefix is not set */if (prefix == NULL) {prefix = fpm_globals.prefix;/* if the global prefix is not set */if (prefix == NULL) {prefix = default_prefix ? default_prefix : PHP_PREFIX;
if (wp-config-process_priority != 64 && (wp-config-process_priority config-process_priority 20)) {
fpm_event_pre_init(fpm_global_config.events_mechanism)
static int fpm_conf_post_process(int force_daemon TSRMLS_DC)
struct fpm_event_module_s *fpm_event_epoll_module()
PHP_FUNCTION(openlog);
#if HAVE_SELECT return &select_module;#else return NULL;
int zlog_set_fd(int new_fd)
int fpm_event_pre_init(char *machanism)
if (fpm_globals.config == NULL)
zlog_fd = new_fd;
int fd = open(\"/dev/null\
int zlog_set_level(int new_value)
int fpm_log_open(int reopen)
f (force_daemon = 0) {/* forced from command line options */fpm_global_config.daemonize = force_daemon;fpm_globals.log_level = fpm_global_config.log_level;zlog_set_level(fpm_globals.log_level);if (fpm_global_config.process_max 0) {if (fpm_global_config.process_priority != 64 && (fpm_global_config.process_priority 20)) {if (!fpm_global_config.error_log) {fpm_global_config.error_log = strdup(\"log/php-fpm.log\");
int fpm_event_support_edge_trigger()
#if HAVE_DEVPOLL return &devpoll_module;#else return NULL;
N
ret = fpm_conf_load_ini_file(fpm_globals.config TSRMLS_CC);
fpm_log_open(0)
if (!fpm_global_config.syslog_ident) {fpm_global_config.syslog_ident = strdup(\"php-fpm\
static inline void *fpm_array_push(struct fpm_array_s *a)
#if HAVE_EPOLLreturn &epoll_module;#else return NULL;
/** Return the module configuration*/ struct fpm_event_module_s *fpm_event_kqueue_module()
zlog_level = new_value;
int fpm_stdio_init_main()
ret = (char *) a-data + a-sz * n; return ret;
int fpm_systemd_conf()
int fpm_conf_load_ini_file(char *filename TSRMLS_DC)
TSRMLS_FETCH();php_module_shutdown(TSRMLS_C);sapi_shutdown();
struct fpm_event_module_s *fpm_event_select_module()
#if HAVE_POLL return &poll_module;#else return NULL;
fpm_globals.argc = argc;fpm_globals.argv = argv;if (config && *config) {fpm_globals.config = strdup(config);} fpm_globals.prefix = prefix;fpm_globals.pid = pid;fpm_globals.run_as_root = run_as_root;fpm_globals.force_stderr = force_stderr;
static int fpm_conf_is_dir(char *path)
int fpm_stdio_open_error_log(int reopen)
if (fpm_globals.pid && *fpm_globals.pid) {fpm_global_config.pid_file = strdup(fpm_globals.pid);
struct cleanup_s *c;c = fpm_array_push(&cleanups);
fpm_globals.config = strdup(tmp); efree(tmp);
for (wp = fpm_worker_all_pools; wp; wp = wp-next) {
#if HAVE_KQUEUE return &kqueue_module; #else return NULL;
else if (wp-config-pm == PM_STYLE_ONDEMAND) {
c-type = type;c-cleanup = cleanup;c-arg = arg;
0 条评论
下一页