diff options
| -rw-r--r-- | ext/standard/info.c | 19 | 
1 files changed, 15 insertions, 4 deletions
| diff --git a/ext/standard/info.c b/ext/standard/info.c index 03440641ee..480317b8d4 100644 --- a/ext/standard/info.c +++ b/ext/standard/info.c @@ -281,11 +281,22 @@ char* php_get_windows_name()  	}  	if (VER_PLATFORM_WIN32_NT==osvi.dwPlatformId && osvi.dwMajorVersion > 4 ) { -		if (osvi.dwMajorVersion == 6 && osvi.dwMinorVersion == 0 )	{ -			if (osvi.wProductType == VER_NT_WORKSTATION) { -				major = "Windows Vista"; +		if (osvi.dwMajorVersion == 6)	{ +			if( osvi.dwMinorVersion == 0 ) { +				if( osvi.wProductType == VER_NT_WORKSTATION ) { +					major = "Windows Vista"; +				} else { +					major = "Windows Server 2008"; +				} +			} else +			if ( osvi.dwMinorVersion == 1 ) { +				if( osvi.wProductType == VER_NT_WORKSTATION )  { +					major = "Windows 7"; +				} else { +					major = "Windows Server 2008 R2"; +				}  			} else { -				major = "Windows Server 2008"; +				major = "Unknow Windows version";  			}  			pGPI = (PGPI) GetProcAddress(GetModuleHandle("kernel32.dll"), "GetProductInfo"); | 
