--- sapi/apache2filter/sapi_apache2.c | 11 +++++++++-- sapi/apache2handler/sapi_apache2.c | 12 ++++++++++-- 2 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/sapi/apache2filter/sapi_apache2.c b/sapi/apache2filter/sapi_apache2.c index a8fec5c..21f2fa3 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) { diff --git a/sapi/apache2handler/sapi_apache2.c b/sapi/apache2handler/sapi_apache2.c index 900a3a4..a578740 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) { -- 1.7.10.4 -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php