From e56b9397d922e87e5de6bc54873a5d0a93e48a86 Mon Sep 17 00:00:00 2001 From: foobar Date: Tue, 9 Sep 2003 21:42:57 +0000 Subject: [PATCH] MFH: runtime apache version --- sapi/apache/php_apache.c | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/sapi/apache/php_apache.c b/sapi/apache/php_apache.c index 304ee75d05..81d2822c5a 100644 --- a/sapi/apache/php_apache.c +++ b/sapi/apache/php_apache.c @@ -44,6 +44,7 @@ PHP_FUNCTION(apache_note); PHP_FUNCTION(apache_lookup_uri); PHP_FUNCTION(apache_child_terminate); PHP_FUNCTION(apache_setenv); +PHP_FUNCTION(apache_get_version); PHP_MINFO_FUNCTION(apache); @@ -55,6 +56,7 @@ function_entry apache_functions[] = { PHP_FE(apache_child_terminate, NULL) PHP_FE(apache_setenv, NULL) PHP_FE(apache_response_headers, NULL) + PHP_FE(apache_get_version, NULL) PHP_FALIAS(getallheaders, apache_request_headers, NULL) {NULL, NULL, NULL} }; @@ -74,7 +76,6 @@ static void php_apache_globals_ctor(php_apache_info_struct *apache_globals TSRML apache_globals->in_request = 0; } - static PHP_MINIT_FUNCTION(apache) { #ifdef ZTS @@ -158,6 +159,7 @@ PHP_FUNCTION(apache_note) */ PHP_MINFO_FUNCTION(apache) { + char *apv = (char *) ap_get_server_version(); module *modp = NULL; char output_buf[128]; #if !defined(WIN32) && !defined(WINNT) @@ -174,7 +176,6 @@ PHP_MINFO_FUNCTION(apache) serv = ((request_rec *) SG(server_context))->server; - php_info_print_table_start(); #ifdef PHP_WIN32 @@ -190,7 +191,9 @@ PHP_MINFO_FUNCTION(apache) php_info_print_table_row(2, "APACHE_TARGET", PHP_APACHE_TARGET); #endif - php_info_print_table_row(2, "Apache Version", SERVER_VERSION); + if (apv && *apv) { + php_info_print_table_row(2, "Apache Version", apv); + } #ifdef APACHE_RELEASE sprintf(output_buf, "%d", APACHE_RELEASE); @@ -474,6 +477,19 @@ PHP_FUNCTION(apache_lookup_uri) } /* }}} */ +/* {{{ proto string apache_get_version(void) + Fetch Apache version */ +PHP_FUNCTION(apache_get_version) +{ + char *apv = (char *) ap_get_server_version(); + + if (apv && *apv) { + RETURN_STRING(apv, 1); + } else { + RETURN_FALSE; + } +} +/* }}} */ #if 0 This function is most likely a bad idea. Just playing with it for now. -- 2.50.1