diff --git a/sapi/apache2filter/sapi_apache2.c b/sapi/apache2filter/sapi_apache2.c index 0b51cfbe62f39..21f2fa34917fe 100644 --- a/sapi/apache2filter/sapi_apache2.c +++ b/sapi/apache2filter/sapi_apache2.c @@ -606,11 +606,17 @@ static int php_apache_server_startup(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *s) { + +#if AP_MODULE_MAGIC_AT_LEAST(20110203,1) + /* Apache will load, unload and then reload a DSO module. This + * prevents us from starting PHP until the second load. */ + if (ap_state_query(AP_SQ_MAIN_STATE) == AP_SQ_MS_CREATE_PRE_CONFIG) { + return OK; + } +#else void *data = NULL; const char *userdata_key = "apache2filter_post_config"; - /* Apache will load, unload and then reload a DSO module. This - * prevents us from starting PHP until the second load. */ apr_pool_userdata_get(&data, userdata_key, s->process->pool); if (data == NULL) { /* We must use set() here and *not* setn(), otherwise the @@ -622,6 +628,7 @@ php_apache_server_startup(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_cleanup_null, s->process->pool); return OK; } +#endif /* Set up our overridden path. */ if (apache2_php_ini_path_override) { @@ -744,6 +751,9 @@ static size_t php_apache_fsizer_stream(void *handle TSRMLS_DC) return 0; } +#ifdef APLOG_USE_MODULE +APLOG_USE_MODULE(php5); +#endif AP_MODULE_DECLARE_DATA module php5_module = { STANDARD20_MODULE_STUFF, create_php_config, /* create per-directory config structure */ diff --git a/sapi/apache2handler/mod_php5.c b/sapi/apache2handler/mod_php5.c index 9df4f25066df2..35d5548bd52a7 100644 --- a/sapi/apache2handler/mod_php5.c +++ b/sapi/apache2handler/mod_php5.c @@ -25,6 +25,10 @@ #include "php.h" #include "php_apache.h" +#ifdef APLOG_USE_MODULE +APLOG_USE_MODULE(php5); +#endif + AP_MODULE_DECLARE_DATA module php5_module = { STANDARD20_MODULE_STUFF, create_php_config, /* create per-directory config structure */ diff --git a/sapi/apache2handler/sapi_apache2.c b/sapi/apache2handler/sapi_apache2.c index 900a3a425b2de..a578740a9cac0 100644 --- a/sapi/apache2handler/sapi_apache2.c +++ b/sapi/apache2handler/sapi_apache2.c @@ -430,12 +430,19 @@ static int php_pre_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp static int php_apache_server_startup(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *s) { - void *data = NULL; - const char *userdata_key = "apache2hook_post_config"; +#if AP_MODULE_MAGIC_AT_LEAST(20110203,1) /* Apache will load, unload and then reload a DSO module. This * prevents us from starting PHP until the second load. */ + if (ap_state_query(AP_SQ_MAIN_STATE) == AP_SQ_MS_CREATE_PRE_CONFIG) { + return OK; + } +#else + void *data = NULL; + const char *userdata_key = "apache2hook_post_config"; + apr_pool_userdata_get(&data, userdata_key, s->process->pool); + if (data == NULL) { /* We must use set() here and *not* setn(), otherwise the * static string pointed to by userdata_key will be mapped @@ -445,6 +452,7 @@ php_apache_server_startup(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp apr_pool_userdata_set((const void *)1, userdata_key, apr_pool_cleanup_null, s->process->pool); return OK; } +#endif /* Set up our overridden path. */ if (apache2_php_ini_path_override) { diff --git a/sapi/fpm/fpm/fpm_conf.c b/sapi/fpm/fpm/fpm_conf.c index dfe6792c058b7..4d68a3b51f99b 100644 --- a/sapi/fpm/fpm/fpm_conf.c +++ b/sapi/fpm/fpm/fpm_conf.c @@ -1077,7 +1077,7 @@ static int fpm_conf_process_all_pools() /* {{{ */ int fpm_conf_unlink_pid() /* {{{ */ { - if (fpm_global_config.pid_file) { + if (!fpm_global_config.daemonize && fpm_global_config.pid_file) { if (0 > unlink(fpm_global_config.pid_file)) { zlog(ZLOG_SYSERROR, "Unable to remove the PID file (%s).", fpm_global_config.pid_file); return -1; @@ -1091,7 +1091,7 @@ int fpm_conf_write_pid() /* {{{ */ { int fd; - if (fpm_global_config.pid_file) { + if (!fpm_global_config.daemonize && fpm_global_config.pid_file) { char buf[64]; int len;