]> granicus.if.org Git - php/commitdiff
Fix startup sequence. It should do it this time.
authorZeev Suraski <zeev@php.net>
Mon, 29 May 2000 18:45:06 +0000 (18:45 +0000)
committerZeev Suraski <zeev@php.net>
Mon, 29 May 2000 18:45:06 +0000 (18:45 +0000)
main/main.c
main/php_globals.h
php4dllts.dsp

index fdeeb5747a287324ccf9c26e03cd426823ff93e2..a8c341acdb434ccb34cfadf7f82f3a0b46f6ebe0 100644 (file)
@@ -679,6 +679,7 @@ int php_request_startup(CLS_D ELS_DC PLS_DC SLS_DC)
        php_output_startup();
 
        /* initialize global variables */
+       PG(modules_activated) = 0;
        PG(header_is_being_sent) = 0;
        PG(connection_status) = PHP_CONNECTION_NORMAL;
        
@@ -728,6 +729,9 @@ void php_request_shutdown(void *dummy)
        php_ini_rshutdown();
        EG(error_reporting) = PG(error_reporting);
 
+       if (PG(modules_activated)) {
+               zend_deactivate_modules();
+       }
        zend_deactivate(CLS_C ELS_CC);
        sapi_deactivate(SLS_C);
 
@@ -1166,6 +1170,9 @@ PHPAPI void php_execute_script(zend_file_handle *primary_file CLS_DC ELS_DC PLS_
 
        php_hash_environment(ELS_C SLS_CC PLS_CC);
 
+       zend_activate_modules();
+       PG(modules_activated)=1;
+
        if (SG(request_info).query_string && SG(request_info).query_string[0]=='=' 
                && PG(expose_php)) {
                if (!strcmp(SG(request_info).query_string+1, PHP_LOGO_GUID)) {
@@ -1186,10 +1193,8 @@ PHPAPI void php_execute_script(zend_file_handle *primary_file CLS_DC ELS_DC PLS_
                }
        }
 
-       zend_activate_modules();
 
        if (setjmp(EG(bailout))!=0) {
-               zend_deactivate_modules();
                return;
        }
 
@@ -1218,7 +1223,6 @@ PHPAPI void php_execute_script(zend_file_handle *primary_file CLS_DC ELS_DC PLS_
                EG(active_op_array) = EG(main_op_array);
                zend_execute(EG(main_op_array) ELS_CC);
        }
-       zend_deactivate_modules();
 }
 
 #ifdef PHP_WIN32
index 72418e141ddbc9e511526c0c9ad7bbc4490accc3..fb1550cb316d712af18f8c14dda2c243f9a073f3 100644 (file)
@@ -67,8 +67,8 @@ struct _php_core_globals {
 
        zend_bool safe_mode;
        zend_bool sql_safe_mode;
-       char *safe_mode_exec_dir;
        zend_bool enable_dl;
+       char *safe_mode_exec_dir;
 
        long memory_limit;
 
@@ -97,14 +97,6 @@ struct _php_core_globals {
        char *gpc_order;
        char *variables_order;
 
-       zend_bool expose_php;
-
-       zend_bool track_vars;
-       zend_bool register_globals;
-       zend_bool register_argc_argv;
-
-       zend_bool y2k_compliance;
-
        short connection_status;
        short ignore_user_abort;
 
@@ -115,6 +107,16 @@ struct _php_core_globals {
        zend_llist tick_functions;
 
        php_http_globals http_globals;
+
+       zend_bool expose_php;
+
+       zend_bool track_vars;
+       zend_bool register_globals;
+       zend_bool register_argc_argv;
+
+       zend_bool y2k_compliance;
+
+       zend_bool modules_activated;
 };
 
 
index 0cfe939a6be82daf5db4c75ed24ae0f7aad6db82..325b1990207701fafb78c3e127609a6da3c588be 100644 (file)
@@ -1118,6 +1118,10 @@ SOURCE=".\php.ini-dist"
 # End Source File\r
 # Begin Source File\r
 \r
+SOURCE=".\php.ini-optimized"\r
+# End Source File\r
+# Begin Source File\r
+\r
 SOURCE=".\README.CVS-RULES"\r
 # End Source File\r
 # Begin Source File\r