]> granicus.if.org Git - php/commitdiff
- Register engine classes when and where they should be
authorMarcus Boerger <helly@php.net>
Wed, 31 Dec 2008 13:25:05 +0000 (13:25 +0000)
committerMarcus Boerger <helly@php.net>
Wed, 31 Dec 2008 13:25:05 +0000 (13:25 +0000)
- Show core module version as PHP version

Zend/zend_builtin_functions.c
main/main.c

index 66fb9a76faa68c38f66e0fd659aed2bd45135049..d8ffc81e23047a3eeaa934bc48d375b001b2fcca 100644 (file)
@@ -297,6 +297,8 @@ ZEND_MINIT_FUNCTION(core) { /* {{{ */
        INIT_CLASS_ENTRY(class_entry, "stdClass", NULL);
        zend_standard_class_def = zend_register_internal_class(&class_entry TSRMLS_CC);
 
+       zend_register_default_classes(TSRMLS_C);
+
        return SUCCESS;
 }
 /* }}} */
index 10301e28976320e17dc82ba1a778d1df5da979e0..e78d483873a7cb408390e44a403dd28d2175cf61 100644 (file)
@@ -1717,6 +1717,14 @@ static void core_globals_dtor(php_core_globals *core_globals TSRMLS_DC)
 }
 /* }}} */
 
+PHP_MINFO_FUNCTION(php_core) { /* {{{ */
+       php_info_print_table_start();
+       php_info_print_table_row(2, "PHP Version", PHP_VERSION);
+       php_info_print_table_end(); 
+       DISPLAY_INI_ENTRIES();
+}
+/* }}} */
+
 /* {{{ php_register_extensions
  */
 int php_register_extensions(zend_module_entry **ptr, int count TSRMLS_DC)
@@ -1774,6 +1782,7 @@ int php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_mod
        zend_utility_values zuv;
        int module_number=0;    /* for REGISTER_INI_ENTRIES() */
        char *php_os;
+       zend_module_entry *module;
 #ifdef ZTS
        zend_executor_globals *executor_globals;
        void ***tsrm_ls;
@@ -1998,9 +2007,6 @@ int php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_mod
                return FAILURE;
        }
 
-       /* Register internal Zend classes */
-       zend_register_default_classes(TSRMLS_C);
-
        /* startup extensions staticly compiled in */
        if (php_register_internal_extensions_func(TSRMLS_C) == FAILURE) {
                php_printf("Unable to start builtin modules\n");
@@ -2029,14 +2035,18 @@ int php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_mod
 
        /* register additional functions */
        if (sapi_module.additional_functions) {
-               zend_module_entry *module;
-
                if (zend_hash_find(&module_registry, "standard", sizeof("standard"), (void**)&module)==SUCCESS) {
                        EG(current_module) = module;
                        zend_register_functions(NULL, sapi_module.additional_functions, NULL, MODULE_PERSISTENT TSRMLS_CC);
                        EG(current_module) = NULL;
                }
        }
+       
+       /* make core report what it should */
+       if (zend_hash_find(&module_registry, "core", sizeof("core"), (void**)&module)==SUCCESS) {
+               module->version = PHP_VERSION;
+               module->info_func = PHP_MINFO(php_core);
+       }
 
        zend_post_startup(TSRMLS_C);