fpm_init
2015-11-04 14:23:07 0 举报
`fpm_init`是一个函数或过程,用于初始化FPM(FastCGI Process Manager)环境。FPM是一个PHP FastCGI进程管理器,用于管理PHP应用程序的进程生命周期。在调用`fpm_init`时,它会创建并配置一个新的FPM进程,以便与Web服务器(如Nginx或Apache)协同工作。这个过程中,可能会涉及到设置进程的用户、组、权限、工作目录等参数。一旦`fpm_init`成功执行,新的FPM进程就会开始运行,监听来自Web服务器的请求并处理PHP应用程序。
作者其他创作
大纲/内容
if (0 fpm_stdio_open_error_log(0))
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)
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\");
struct fpm_event_module_s *fpm_event_poll_module()
#if HAVE_DEVPOLL return &devpoll_module;#else return NULL;
N
ret = fpm_conf_load_ini_file(fpm_globals.config TSRMLS_CC);
enum fpm_address_domain fpm_sockets_domain_from_address(char *address)
if (!fpm_global_config.syslog_ident) {fpm_global_config.syslog_ident = strdup(\"php-fpm\
if (fpm_globals.prefix && *fpm_globals.prefix) {if (!fpm_conf_is_dir(fpm_globals.prefix)) {
static inline int fpm_use_error_log()
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()
fpm_stdio_init_main()
struct fpm_event_module_s *fpm_event_devpoll_module()
zlog_level = new_value;
fpm_php_init_main()
struct fpm_event_module_s *fpm_event_port_module()
int fpm_stdio_init_main()
int fpm_php_init_main()
ret = (char *) a-data + a-sz * n; return ret;
int fpm_systemd_conf()
/* alert if user is not set only if we are not root*/if (!wp-config-user && !geteuid()) {
int fpm_conf_load_ini_file(char *filename TSRMLS_DC)
TSRMLS_FETCH();php_module_shutdown(TSRMLS_C);sapi_shutdown();
static int fpm_conf_process_all_pools()
#if HAVE_PORTreturn &port_module;#else return NULL;
struct fpm_event_module_s *fpm_event_select_module()
#if HAVE_POLL return &poll_module;#else return NULL;
fpm_conf_post_process(force_daemon TSRMLS_CC)
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);
fpm_conf_process_all_pools()
Y
for (wp = fpm_worker_all_pools; wp; wp = wp-next) {
if (test_conf) {if (test_conf 1) {fpm_conf_dump();fpm_globals.test_successful = 1;
#if HAVE_KQUEUE return &kqueue_module; #else return NULL;
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;
fpm_event_pre_init(fpm_global_config.events_mechanism)
c-type = type;c-cleanup = cleanup;c-arg = arg;
0 条评论
下一页