Skip to content

Commit cdde1be

Browse files
committed
Merge branch 'PHP-5.6'
* PHP-5.6: update NEWS updated NEWS fixes bug #69835: phpinfo() does not report many Windows SKUs
2 parents 076a645 + 962fe01 commit cdde1be

File tree

2 files changed

+275
-51
lines changed

2 files changed

+275
-51
lines changed

ext/standard/info.c

Lines changed: 199 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -385,28 +385,36 @@ char* php_get_windows_name()
385385
case PRODUCT_ULTIMATE:
386386
sub = "Ultimate Edition";
387387
break;
388-
case PRODUCT_HOME_PREMIUM:
389-
sub = "Home Premium Edition";
390-
break;
391388
case PRODUCT_HOME_BASIC:
392389
sub = "Home Basic Edition";
393390
break;
391+
case PRODUCT_HOME_PREMIUM:
392+
sub = "Home Premium Edition";
393+
break;
394394
case PRODUCT_ENTERPRISE:
395395
sub = "Enterprise Edition";
396396
break;
397+
case PRODUCT_HOME_BASIC_N:
398+
sub = "Home Basic N Edition";
399+
break;
397400
case PRODUCT_BUSINESS:
398401
if ((osvi.dwMajorVersion > 6) || (osvi.dwMajorVersion == 6 && osvi.dwMinorVersion > 0)) {
399402
sub = "Professional Edition";
400403
} else {
401404
sub = "Business Edition";
402405
}
403406
break;
404-
case PRODUCT_BUSINESS_N:
405-
if ((osvi.dwMajorVersion > 6) || (osvi.dwMajorVersion == 6 && osvi.dwMinorVersion > 0)) {
406-
sub = "Professional N Edition";
407-
} else {
408-
sub = "Business N Edition";
409-
}
407+
case PRODUCT_STANDARD_SERVER:
408+
sub = "Standard Edition";
409+
break;
410+
case PRODUCT_DATACENTER_SERVER:
411+
sub = "Datacenter Edition";
412+
break;
413+
case PRODUCT_SMALLBUSINESS_SERVER:
414+
sub = "Small Business Server";
415+
break;
416+
case PRODUCT_ENTERPRISE_SERVER:
417+
sub = "Enterprise Edition";
410418
break;
411419
case PRODUCT_STARTER:
412420
if ((osvi.dwMajorVersion > 6) || (osvi.dwMajorVersion == 6 && osvi.dwMinorVersion > 0)) {
@@ -415,38 +423,204 @@ char* php_get_windows_name()
415423
sub = "Starter Edition";
416424
}
417425
break;
418-
case PRODUCT_CLUSTER_SERVER:
419-
sub = "Cluster Server Edition";
420-
break;
421-
case PRODUCT_DATACENTER_SERVER:
422-
sub = "Datacenter Edition";
423-
break;
424426
case PRODUCT_DATACENTER_SERVER_CORE:
425427
sub = "Datacenter Edition (core installation)";
426428
break;
427-
case PRODUCT_ENTERPRISE_SERVER:
428-
sub = "Enterprise Edition";
429+
case PRODUCT_STANDARD_SERVER_CORE:
430+
sub = "Standard Edition (core installation)";
429431
break;
430432
case PRODUCT_ENTERPRISE_SERVER_CORE:
431433
sub = "Enterprise Edition (core installation)";
432434
break;
433435
case PRODUCT_ENTERPRISE_SERVER_IA64:
434436
sub = "Enterprise Edition for Itanium-based Systems";
435437
break;
436-
case PRODUCT_SMALLBUSINESS_SERVER:
437-
sub = "Small Business Server";
438+
case PRODUCT_BUSINESS_N:
439+
if ((osvi.dwMajorVersion > 6) || (osvi.dwMajorVersion == 6 && osvi.dwMinorVersion > 0)) {
440+
sub = "Professional N Edition";
441+
} else {
442+
sub = "Business N Edition";
443+
}
444+
break;
445+
case PRODUCT_WEB_SERVER:
446+
sub = "Web Server Edition";
447+
break;
448+
case PRODUCT_CLUSTER_SERVER:
449+
sub = "HPC Edition";
450+
break;
451+
case PRODUCT_HOME_SERVER:
452+
sub = "Storage Server Essentials Edition";
453+
break;
454+
case PRODUCT_STORAGE_EXPRESS_SERVER:
455+
sub = "Storage Server Express Edition";
456+
break;
457+
case PRODUCT_STORAGE_STANDARD_SERVER:
458+
sub = "Storage Server Standard Edition";
459+
break;
460+
case PRODUCT_STORAGE_WORKGROUP_SERVER:
461+
sub = "Storage Server Workgroup Edition";
462+
break;
463+
case PRODUCT_STORAGE_ENTERPRISE_SERVER:
464+
sub = "Storage Server Enterprise Edition";
465+
break;
466+
case PRODUCT_SERVER_FOR_SMALLBUSINESS:
467+
sub = "Essential Server Solutions Edition";
438468
break;
439469
case PRODUCT_SMALLBUSINESS_SERVER_PREMIUM:
440470
sub = "Small Business Server Premium Edition";
441471
break;
442-
case PRODUCT_STANDARD_SERVER:
443-
sub = "Standard Edition";
472+
case PRODUCT_HOME_PREMIUM_N:
473+
sub = "Home Premium N Edition";
444474
break;
445-
case PRODUCT_STANDARD_SERVER_CORE:
446-
sub = "Standard Edition (core installation)";
475+
case PRODUCT_ENTERPRISE_N:
476+
sub = "Enterprise N Edition";
447477
break;
448-
case PRODUCT_WEB_SERVER:
449-
sub = "Web Server Edition";
478+
case PRODUCT_ULTIMATE_N:
479+
sub = "Ultimate N Edition";
480+
break;
481+
case PRODUCT_WEB_SERVER_CORE:
482+
sub = "Web Server Edition (core installation)";
483+
break;
484+
case PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT:
485+
sub = "Essential Business Server Management Server Edition";
486+
break;
487+
case PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY:
488+
sub = "Essential Business Server Management Security Edition";
489+
break;
490+
case PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING:
491+
sub = "Essential Business Server Management Messaging Edition";
492+
break;
493+
case PRODUCT_SERVER_FOUNDATION:
494+
sub = "Foundation Edition";
495+
break;
496+
case PRODUCT_HOME_PREMIUM_SERVER:
497+
sub = "Home Server 2011 Edition";
498+
break;
499+
case PRODUCT_SERVER_FOR_SMALLBUSINESS_V:
500+
sub = "Essential Server Solutions Edition (without Hyper-V)";
501+
break;
502+
case PRODUCT_STANDARD_SERVER_V:
503+
sub = "Standard Edition (without Hyper-V)";
504+
break;
505+
case PRODUCT_DATACENTER_SERVER_V:
506+
sub = "Datacenter Edition (without Hyper-V)";
507+
break;
508+
case PRODUCT_ENTERPRISE_SERVER_V:
509+
sub = "Enterprise Edition (without Hyper-V)";
510+
break;
511+
case PRODUCT_DATACENTER_SERVER_CORE_V:
512+
sub = "Datacenter Edition (core installation, without Hyper-V)";
513+
break;
514+
case PRODUCT_STANDARD_SERVER_CORE_V:
515+
sub = "Standard Edition (core installation, without Hyper-V)";
516+
break;
517+
case PRODUCT_ENTERPRISE_SERVER_CORE_V:
518+
sub = "Enterprise Edition (core installation, without Hyper-V)";
519+
break;
520+
case PRODUCT_HYPERV:
521+
sub = "Hyper-V Server";
522+
break;
523+
case PRODUCT_STORAGE_EXPRESS_SERVER_CORE:
524+
sub = "Storage Server Express Edition (core installation)";
525+
break;
526+
case PRODUCT_STORAGE_STANDARD_SERVER_CORE:
527+
sub = "Storage Server Standard Edition (core installation)";
528+
break;
529+
case PRODUCT_STORAGE_WORKGROUP_SERVER_CORE:
530+
sub = "Storage Server Workgroup Edition (core installation)";
531+
break;
532+
case PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE:
533+
sub = "Storage Server Enterprise Edition (core installation)";
534+
break;
535+
case PRODUCT_STARTER_N:
536+
sub = "Starter N Edition";
537+
break;
538+
case PRODUCT_PROFESSIONAL:
539+
sub = "Professional Edition";
540+
break;
541+
case PRODUCT_PROFESSIONAL_N:
542+
sub = "Professional N Edition";
543+
break;
544+
case PRODUCT_SB_SOLUTION_SERVER:
545+
sub = "Small Business Server 2011 Essentials Edition";
546+
break;
547+
case PRODUCT_SERVER_FOR_SB_SOLUTIONS:
548+
sub = "Server For SB Solutions Edition";
549+
break;
550+
case PRODUCT_STANDARD_SERVER_SOLUTIONS:
551+
sub = "Solutions Premium Edition";
552+
break;
553+
case PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE:
554+
sub = "Solutions Premium Edition (core installation)";
555+
break;
556+
case PRODUCT_SB_SOLUTION_SERVER_EM:
557+
sub = "Server For SB Solutions EM Edition";
558+
break;
559+
case PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM:
560+
sub = "Server For SB Solutions EM Edition";
561+
break;
562+
case PRODUCT_SOLUTION_EMBEDDEDSERVER:
563+
sub = "MultiPoint Server Edition";
564+
break;
565+
case PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT:
566+
sub = "Essential Server Solution Management Edition";
567+
break;
568+
case PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL:
569+
sub = "Essential Server Solution Additional Edition";
570+
break;
571+
case PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC:
572+
sub = "Essential Server Solution Management SVC Edition";
573+
break;
574+
case PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC:
575+
sub = "Essential Server Solution Additional SVC Edition";
576+
break;
577+
case PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE:
578+
sub = "Small Business Server Premium Edition (core installation)";
579+
break;
580+
case PRODUCT_CLUSTER_SERVER_V:
581+
sub = "Hyper Core V Edition";
582+
break;
583+
case PRODUCT_STARTER_E:
584+
sub = "Hyper Core V Edition";
585+
break;
586+
case PRODUCT_ENTERPRISE_EVALUATION:
587+
sub = "Enterprise Edition (evaluation installation)";
588+
break;
589+
case PRODUCT_MULTIPOINT_STANDARD_SERVER:
590+
sub = "MultiPoint Server Standard Edition (full installation)";
591+
break;
592+
case PRODUCT_MULTIPOINT_PREMIUM_SERVER:
593+
sub = "MultiPoint Server Premium Edition (full installation)";
594+
break;
595+
case PRODUCT_STANDARD_EVALUATION_SERVER:
596+
sub = "Standard Edition (evaluation installation)";
597+
break;
598+
case PRODUCT_DATACENTER_EVALUATION_SERVER:
599+
sub = "Datacenter Edition (evaluation installation)";
600+
break;
601+
case PRODUCT_ENTERPRISE_N_EVALUATION:
602+
sub = "Enterprise N Edition (evaluation installation)";
603+
break;
604+
case PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER:
605+
sub = "Storage Server Workgroup Edition (evaluation installation)";
606+
break;
607+
case PRODUCT_STORAGE_STANDARD_EVALUATION_SERVER:
608+
sub = "Storage Server Standard Edition (evaluation installation)";
609+
break;
610+
case PRODUCT_CORE_N:
611+
sub = "Windows 8 N Edition";
612+
break;
613+
case PRODUCT_CORE_COUNTRYSPECIFIC:
614+
sub = "Windows 8 China Edition";
615+
break;
616+
case PRODUCT_CORE_SINGLELANGUAGE:
617+
sub = "Windows 8 Single Language Edition";
618+
break;
619+
case PRODUCT_CORE:
620+
sub = "Windows 8 Edition";
621+
break;
622+
case PRODUCT_PROFESSIONAL_WMC:
623+
sub = "Professional with Media Center Edition";
450624
break;
451625
}
452626
}

ext/standard/winver.h

Lines changed: 76 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -18,32 +18,82 @@
1818
#endif
1919

2020
#ifndef PRODUCT_ULTIMATE
21-
#define PRODUCT_UNDEFINED 0x00000000
22-
#define PRODUCT_ULTIMATE 0x00000001
23-
#define PRODUCT_HOME_BASIC 0x00000002
24-
#define PRODUCT_HOME_PREMIUM 0x00000003
25-
#define PRODUCT_ENTERPRISE 0x00000004
26-
#define PRODUCT_HOME_BASIC_N 0x00000005
27-
#define PRODUCT_BUSINESS 0x00000006
28-
#define PRODUCT_STANDARD_SERVER 0x00000007
29-
#define PRODUCT_DATACENTER_SERVER 0x00000008
30-
#define PRODUCT_SMALLBUSINESS_SERVER 0x00000009
31-
#define PRODUCT_ENTERPRISE_SERVER 0x0000000A
32-
#define PRODUCT_STARTER 0x0000000B
33-
#define PRODUCT_DATACENTER_SERVER_CORE 0x0000000C
34-
#define PRODUCT_STANDARD_SERVER_CORE 0x0000000D
35-
#define PRODUCT_ENTERPRISE_SERVER_CORE 0x0000000E
36-
#define PRODUCT_ENTERPRISE_SERVER_IA64 0x0000000F
37-
#define PRODUCT_BUSINESS_N 0x00000010
38-
#define PRODUCT_WEB_SERVER 0x00000011
39-
#define PRODUCT_CLUSTER_SERVER 0x00000012
40-
#define PRODUCT_HOME_SERVER 0x00000013
41-
#define PRODUCT_STORAGE_EXPRESS_SERVER 0x00000014
42-
#define PRODUCT_STORAGE_STANDARD_SERVER 0x00000015
43-
#define PRODUCT_STORAGE_WORKGROUP_SERVER 0x00000016
44-
#define PRODUCT_STORAGE_ENTERPRISE_SERVER 0x00000017
45-
#define PRODUCT_SERVER_FOR_SMALLBUSINESS 0x00000018
46-
#define PRODUCT_SMALLBUSINESS_SERVER_PREMIUM 0x00000019
21+
#define PRODUCT_UNDEFINED 0x00000000
22+
#define PRODUCT_ULTIMATE 0x00000001
23+
#define PRODUCT_HOME_BASIC 0x00000002
24+
#define PRODUCT_HOME_PREMIUM 0x00000003
25+
#define PRODUCT_ENTERPRISE 0x00000004
26+
#define PRODUCT_HOME_BASIC_N 0x00000005
27+
#define PRODUCT_BUSINESS 0x00000006
28+
#define PRODUCT_STANDARD_SERVER 0x00000007
29+
#define PRODUCT_DATACENTER_SERVER 0x00000008
30+
#define PRODUCT_SMALLBUSINESS_SERVER 0x00000009
31+
#define PRODUCT_ENTERPRISE_SERVER 0x0000000A
32+
#define PRODUCT_STARTER 0x0000000B
33+
#define PRODUCT_DATACENTER_SERVER_CORE 0x0000000C
34+
#define PRODUCT_STANDARD_SERVER_CORE 0x0000000D
35+
#define PRODUCT_ENTERPRISE_SERVER_CORE 0x0000000E
36+
#define PRODUCT_ENTERPRISE_SERVER_IA64 0x0000000F
37+
#define PRODUCT_BUSINESS_N 0x00000010
38+
#define PRODUCT_WEB_SERVER 0x00000011
39+
#define PRODUCT_CLUSTER_SERVER 0x00000012
40+
#define PRODUCT_HOME_SERVER 0x00000013
41+
#define PRODUCT_STORAGE_EXPRESS_SERVER 0x00000014
42+
#define PRODUCT_STORAGE_STANDARD_SERVER 0x00000015
43+
#define PRODUCT_STORAGE_WORKGROUP_SERVER 0x00000016
44+
#define PRODUCT_STORAGE_ENTERPRISE_SERVER 0x00000017
45+
#define PRODUCT_SERVER_FOR_SMALLBUSINESS 0x00000018
46+
#define PRODUCT_SMALLBUSINESS_SERVER_PREMIUM 0x00000019
47+
#define PRODUCT_HOME_PREMIUM_N 0x0000001A
48+
#define PRODUCT_ENTERPRISE_N 0x0000001B
49+
#define PRODUCT_ULTIMATE_N 0x0000001C
50+
#define PRODUCT_WEB_SERVER_CORE 0x0000001D
51+
#define PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT 0x0000001E
52+
#define PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY 0x0000001F
53+
#define PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING 0x00000020
54+
#define PRODUCT_SERVER_FOUNDATION 0x00000021
55+
#define PRODUCT_HOME_PREMIUM_SERVER 0x00000022
56+
#define PRODUCT_SERVER_FOR_SMALLBUSINESS_V 0x00000023
57+
#define PRODUCT_STANDARD_SERVER_V 0x00000024
58+
#define PRODUCT_DATACENTER_SERVER_V 0x00000025
59+
#define PRODUCT_ENTERPRISE_SERVER_V 0x00000026
60+
#define PRODUCT_DATACENTER_SERVER_CORE_V 0x00000027
61+
#define PRODUCT_STANDARD_SERVER_CORE_V 0x00000028
62+
#define PRODUCT_ENTERPRISE_SERVER_CORE_V 0x00000029
63+
#define PRODUCT_HYPERV 0x0000002A
64+
#define PRODUCT_STORAGE_EXPRESS_SERVER_CORE 0x0000002B
65+
#define PRODUCT_STORAGE_STANDARD_SERVER_CORE 0x0000002C
66+
#define PRODUCT_STORAGE_WORKGROUP_SERVER_CORE 0x0000002D
67+
#define PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE 0x0000002E
68+
#define PRODUCT_STARTER_N 0x0000002F
69+
#define PRODUCT_PROFESSIONAL 0x00000030
70+
#define PRODUCT_PROFESSIONAL_N 0x00000031
71+
#define PRODUCT_SB_SOLUTION_SERVER 0x00000032
72+
#define PRODUCT_SERVER_FOR_SB_SOLUTIONS 0x00000033
73+
#define PRODUCT_STANDARD_SERVER_SOLUTIONS 0x00000034
74+
#define PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE 0x00000035
75+
#define PRODUCT_SB_SOLUTION_SERVER_EM 0x00000036
76+
#define PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM 0x00000037
77+
#define PRODUCT_SOLUTION_EMBEDDEDSERVER 0x00000038
78+
#define PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT 0x0000003B
79+
#define PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL 0x0000003C
80+
#define PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC 0x0000003D
81+
#define PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC 0x0000003E
82+
#define PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE 0x0000003F
83+
#define PRODUCT_CLUSTER_SERVER_V 0x00000040
84+
#define PRODUCT_ENTERPRISE_EVALUATION 0x00000048
85+
#define PRODUCT_MULTIPOINT_STANDARD_SERVER 0x0000004C
86+
#define PRODUCT_MULTIPOINT_PREMIUM_SERVER 0x0000004D
87+
#define PRODUCT_STANDARD_EVALUATION_SERVER 0x0000004F
88+
#define PRODUCT_DATACENTER_EVALUATION_SERVER 0x00000050
89+
#define PRODUCT_ENTERPRISE_N_EVALUATION 0x00000054
90+
#define PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER 0x0000005F
91+
#define PRODUCT_STORAGE_STANDARD_EVALUATION_SERVER 0x00000060
92+
#define PRODUCT_CORE_N 0x00000062
93+
#define PRODUCT_CORE_COUNTRYSPECIFIC 0x00000063
94+
#define PRODUCT_CORE_SINGLELANGUAGE 0x00000064
95+
#define PRODUCT_CORE 0x00000065
96+
#define PRODUCT_PROFESSIONAL_WMC 0x00000067
4797
#endif
4898

4999
#ifndef VER_NT_WORKSTATION

0 commit comments

Comments
 (0)