From d5244ef11e631b5b00c3dbc1dbf357447db0d08c Mon Sep 17 00:00:00 2001 From: Marcus Boerger Date: Wed, 31 Dec 2008 13:25:05 +0000 Subject: [PATCH] - Register engine classes when and where they should be - Show core module version as PHP version --- Zend/zend_builtin_functions.c | 2 ++ main/main.c | 20 +++++++++++++++----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c index 66fb9a76fa..d8ffc81e23 100644 --- a/Zend/zend_builtin_functions.c +++ b/Zend/zend_builtin_functions.c @@ -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; } /* }}} */ diff --git a/main/main.c b/main/main.c index 10301e2897..e78d483873 100644 --- a/main/main.c +++ b/main/main.c @@ -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); -- 2.40.0