Skip to content

Commit 657f93e

Browse files
committed
Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5: updated NEWS fixes bug #69835: phpinfo() does not report many Windows SKUs
2 parents 3930e1f + c0119ca commit 657f93e

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
@@ -394,28 +394,36 @@ char* php_get_windows_name()
394394
case PRODUCT_ULTIMATE:
395395
sub = "Ultimate Edition";
396396
break;
397-
case PRODUCT_HOME_PREMIUM:
398-
sub = "Home Premium Edition";
399-
break;
400397
case PRODUCT_HOME_BASIC:
401398
sub = "Home Basic Edition";
402399
break;
400+
case PRODUCT_HOME_PREMIUM:
401+
sub = "Home Premium Edition";
402+
break;
403403
case PRODUCT_ENTERPRISE:
404404
sub = "Enterprise Edition";
405405
break;
406+
case PRODUCT_HOME_BASIC_N:
407+
sub = "Home Basic N Edition";
408+
break;
406409
case PRODUCT_BUSINESS:
407410
if ((osvi.dwMajorVersion > 6) || (osvi.dwMajorVersion == 6 && osvi.dwMinorVersion > 0)) {
408411
sub = "Professional Edition";
409412
} else {
410413
sub = "Business Edition";
411414
}
412415
break;
413-
case PRODUCT_BUSINESS_N:
414-
if ((osvi.dwMajorVersion > 6) || (osvi.dwMajorVersion == 6 && osvi.dwMinorVersion > 0)) {
415-
sub = "Professional N Edition";
416-
} else {
417-
sub = "Business N Edition";
418-
}
416+
case PRODUCT_STANDARD_SERVER:
417+
sub = "Standard Edition";
418+
break;
419+
case PRODUCT_DATACENTER_SERVER:
420+
sub = "Datacenter Edition";
421+
break;
422+
case PRODUCT_SMALLBUSINESS_SERVER:
423+
sub = "Small Business Server";
424+
break;
425+
case PRODUCT_ENTERPRISE_SERVER:
426+
sub = "Enterprise Edition";
419427
break;
420428
case PRODUCT_STARTER:
421429
if ((osvi.dwMajorVersion > 6) || (osvi.dwMajorVersion == 6 && osvi.dwMinorVersion > 0)) {
@@ -424,38 +432,204 @@ char* php_get_windows_name()
424432
sub = "Starter Edition";
425433
}
426434
break;
427-
case PRODUCT_CLUSTER_SERVER:
428-
sub = "Cluster Server Edition";
429-
break;
430-
case PRODUCT_DATACENTER_SERVER:
431-
sub = "Datacenter Edition";
432-
break;
433435
case PRODUCT_DATACENTER_SERVER_CORE:
434436
sub = "Datacenter Edition (core installation)";
435437
break;
436-
case PRODUCT_ENTERPRISE_SERVER:
437-
sub = "Enterprise Edition";
438+
case PRODUCT_STANDARD_SERVER_CORE:
439+
sub = "Standard Edition (core installation)";
438440
break;
439441
case PRODUCT_ENTERPRISE_SERVER_CORE:
440442
sub = "Enterprise Edition (core installation)";
441443
break;
442444
case PRODUCT_ENTERPRISE_SERVER_IA64:
443445
sub = "Enterprise Edition for Itanium-based Systems";
444446
break;
445-
case PRODUCT_SMALLBUSINESS_SERVER:
446-
sub = "Small Business Server";
447+
case PRODUCT_BUSINESS_N:
448+
if ((osvi.dwMajorVersion > 6) || (osvi.dwMajorVersion == 6 && osvi.dwMinorVersion > 0)) {
449+
sub = "Professional N Edition";
450+
} else {
451+
sub = "Business N Edition";
452+
}
453+
break;
454+
case PRODUCT_WEB_SERVER:
455+
sub = "Web Server Edition";
456+
break;
457+
case PRODUCT_CLUSTER_SERVER:
458+
sub = "HPC Edition";
459+
break;
460+
case PRODUCT_HOME_SERVER:
461+
sub = "Storage Server Essentials Edition";
462+
break;
463+
case PRODUCT_STORAGE_EXPRESS_SERVER:
464+
sub = "Storage Server Express Edition";
465+
break;
466+
case PRODUCT_STORAGE_STANDARD_SERVER:
467+
sub = "Storage Server Standard Edition";
468+
break;
469+
case PRODUCT_STORAGE_WORKGROUP_SERVER:
470+
sub = "Storage Server Workgroup Edition";
471+
break;
472+
case PRODUCT_STORAGE_ENTERPRISE_SERVER:
473+
sub = "Storage Server Enterprise Edition";
474+
break;
475+
case PRODUCT_SERVER_FOR_SMALLBUSINESS:
476+
sub = "Essential Server Solutions Edition";
447477
break;
448478
case PRODUCT_SMALLBUSINESS_SERVER_PREMIUM:
449479
sub = "Small Business Server Premium Edition";
450480
break;
451-
case PRODUCT_STANDARD_SERVER:
452-
sub = "Standard Edition";
481+
case PRODUCT_HOME_PREMIUM_N:
482+
sub = "Home Premium N Edition";
453483
break;
454-
case PRODUCT_STANDARD_SERVER_CORE:
455-
sub = "Standard Edition (core installation)";
484+
case PRODUCT_ENTERPRISE_N:
485+
sub = "Enterprise N Edition";
456486
break;
457-
case PRODUCT_WEB_SERVER:
458-
sub = "Web Server Edition";
487+
case PRODUCT_ULTIMATE_N:
488+
sub = "Ultimate N Edition";
489+
break;
490+
case PRODUCT_WEB_SERVER_CORE:
491+
sub = "Web Server Edition (core installation)";
492+
break;
493+
case PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT:
494+
sub = "Essential Business Server Management Server Edition";
495+
break;
496+
case PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY:
497+
sub = "Essential Business Server Management Security Edition";
498+
break;
499+
case PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING:
500+
sub = "Essential Business Server Management Messaging Edition";
501+
break;
502+
case PRODUCT_SERVER_FOUNDATION:
503+
sub = "Foundation Edition";
504+
break;
505+
case PRODUCT_HOME_PREMIUM_SERVER:
506+
sub = "Home Server 2011 Edition";
507+
break;
508+
case PRODUCT_SERVER_FOR_SMALLBUSINESS_V:
509+
sub = "Essential Server Solutions Edition (without Hyper-V)";
510+
break;
511+
case PRODUCT_STANDARD_SERVER_V:
512+
sub = "Standard Edition (without Hyper-V)";
513+
break;
514+
case PRODUCT_DATACENTER_SERVER_V:
515+
sub = "Datacenter Edition (without Hyper-V)";
516+
break;
517+
case PRODUCT_ENTERPRISE_SERVER_V:
518+
sub = "Enterprise Edition (without Hyper-V)";
519+
break;
520+
case PRODUCT_DATACENTER_SERVER_CORE_V:
521+
sub = "Datacenter Edition (core installation, without Hyper-V)";
522+
break;
523+
case PRODUCT_STANDARD_SERVER_CORE_V:
524+
sub = "Standard Edition (core installation, without Hyper-V)";
525+
break;
526+
case PRODUCT_ENTERPRISE_SERVER_CORE_V:
527+
sub = "Enterprise Edition (core installation, without Hyper-V)";
528+
break;
529+
case PRODUCT_HYPERV:
530+
sub = "Hyper-V Server";
531+
break;
532+
case PRODUCT_STORAGE_EXPRESS_SERVER_CORE:
533+
sub = "Storage Server Express Edition (core installation)";
534+
break;
535+
case PRODUCT_STORAGE_STANDARD_SERVER_CORE:
536+
sub = "Storage Server Standard Edition (core installation)";
537+
break;
538+
case PRODUCT_STORAGE_WORKGROUP_SERVER_CORE:
539+
sub = "Storage Server Workgroup Edition (core installation)";
540+
break;
541+
case PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE:
542+
sub = "Storage Server Enterprise Edition (core installation)";
543+
break;
544+
case PRODUCT_STARTER_N:
545+
sub = "Starter N Edition";
546+
break;
547+
case PRODUCT_PROFESSIONAL:
548+
sub = "Professional Edition";
549+
break;
550+
case PRODUCT_PROFESSIONAL_N:
551+
sub = "Professional N Edition";
552+
break;
553+
case PRODUCT_SB_SOLUTION_SERVER:
554+
sub = "Small Business Server 2011 Essentials Edition";
555+
break;
556+
case PRODUCT_SERVER_FOR_SB_SOLUTIONS:
557+
sub = "Server For SB Solutions Edition";
558+
break;
559+
case PRODUCT_STANDARD_SERVER_SOLUTIONS:
560+
sub = "Solutions Premium Edition";
561+
break;
562+
case PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE:
563+
sub = "Solutions Premium Edition (core installation)";
564+
break;
565+
case PRODUCT_SB_SOLUTION_SERVER_EM:
566+
sub = "Server For SB Solutions EM Edition";
567+
break;
568+
case PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM:
569+
sub = "Server For SB Solutions EM Edition";
570+
break;
571+
case PRODUCT_SOLUTION_EMBEDDEDSERVER:
572+
sub = "MultiPoint Server Edition";
573+
break;
574+
case PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT:
575+
sub = "Essential Server Solution Management Edition";
576+
break;
577+
case PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL:
578+
sub = "Essential Server Solution Additional Edition";
579+
break;
580+
case PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC:
581+
sub = "Essential Server Solution Management SVC Edition";
582+
break;
583+
case PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC:
584+
sub = "Essential Server Solution Additional SVC Edition";
585+
break;
586+
case PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE:
587+
sub = "Small Business Server Premium Edition (core installation)";
588+
break;
589+
case PRODUCT_CLUSTER_SERVER_V:
590+
sub = "Hyper Core V Edition";
591+
break;
592+
case PRODUCT_STARTER_E:
593+
sub = "Hyper Core V Edition";
594+
break;
595+
case PRODUCT_ENTERPRISE_EVALUATION:
596+
sub = "Enterprise Edition (evaluation installation)";
597+
break;
598+
case PRODUCT_MULTIPOINT_STANDARD_SERVER:
599+
sub = "MultiPoint Server Standard Edition (full installation)";
600+
break;
601+
case PRODUCT_MULTIPOINT_PREMIUM_SERVER:
602+
sub = "MultiPoint Server Premium Edition (full installation)";
603+
break;
604+
case PRODUCT_STANDARD_EVALUATION_SERVER:
605+
sub = "Standard Edition (evaluation installation)";
606+
break;
607+
case PRODUCT_DATACENTER_EVALUATION_SERVER:
608+
sub = "Datacenter Edition (evaluation installation)";
609+
break;
610+
case PRODUCT_ENTERPRISE_N_EVALUATION:
611+
sub = "Enterprise N Edition (evaluation installation)";
612+
break;
613+
case PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER:
614+
sub = "Storage Server Workgroup Edition (evaluation installation)";
615+
break;
616+
case PRODUCT_STORAGE_STANDARD_EVALUATION_SERVER:
617+
sub = "Storage Server Standard Edition (evaluation installation)";
618+
break;
619+
case PRODUCT_CORE_N:
620+
sub = "Windows 8 N Edition";
621+
break;
622+
case PRODUCT_CORE_COUNTRYSPECIFIC:
623+
sub = "Windows 8 China Edition";
624+
break;
625+
case PRODUCT_CORE_SINGLELANGUAGE:
626+
sub = "Windows 8 Single Language Edition";
627+
break;
628+
case PRODUCT_CORE:
629+
sub = "Windows 8 Edition";
630+
break;
631+
case PRODUCT_PROFESSIONAL_WMC:
632+
sub = "Professional with Media Center Edition";
459633
break;
460634
}
461635
}

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)