---
 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

Reply via email to