Bug #69642 [Com]: Windows 10 reported as Windows 8 in phpinfo()

From: Date: Mon, 08 Jun 2015 15:01:37 +0000
Subject: Bug #69642 [Com]: Windows 10 reported as Windows 8 in phpinfo()
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-193194@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=69642&edit=1 ID: 69642 Comment by: wenz@php.net Reported by: wenz@php.net Summary: Windows 10 reported as Windows 8 in phpinfo() Status: Closed Type: Bug Package: PHP options/info functions Operating System: Windows 10 PHP Version: master-Git-2015-05-15 (Git) Assigned To: ab Block user comment: N Private report: N New Comment: I have now had a deeper look at it. There are two reasons for the incorrect SKU detection that happens under certain circumstances: 1) Microsoft changed the behavior of the GetProductInfo API (AARGH!) which returns "Business" on the Professional versions of Windows 7, 8, and 8.1. 2) Some SKUs are missing from our list in winver.h. A specific instance is probably the one reported in Bug #55319 I have written a patch for 1) since quite a number of users is affected and it would be nice to get this into the final 5.5 update, if possible. I'll do some testing on Vista (where the API still has its old behavior) tonight and then provide the patches or PRs tomorrow. I have also started working on #2, adding almost 70 additional SKUs to winver.h, but will need to update info.c and update the appropriate SKU names there (and then will need to test this in some of the SKUs). This will take some time, so that's why I am doing 1) first. Will reference the bug reports here once I am done. Previous Comments: ------------------------------------------------------------------------ [2015-06-05 16:14:30] ab@php.net @wenz, thanks for such the extensive testing. Yeah, the bins produced by me was 64-bit, they couldn't run on x86. This bug seems to be fixed so far. For PHP 5.5 it was the last chance as it's in security mode very soon. If you think you can catch up with finer recognition of the product types, that could be good. Otherwise, it's already something usable given win10 is even not released yet. Once you've some more info and time, so yep, you can do it in another ticket using some better info. Thanks. ------------------------------------------------------------------------ [2015-06-05 14:59:14] cmb@php.net Related To: Bug #55319 ------------------------------------------------------------------------ [2015-06-03 09:57:55] wenz@php.net I have now tested both the manifest test binaries you sent and manually built CLI versions for the 5.5, 5.6, and master branches on these systems (fresh OS installations in all cases): - Windows 7 -> 6.1 - Windows 8 -> 6.2 - Windows 8.1 -> 6.3 - Windows Server 2012 R2 -> 6.3 - Windows 10 (Tech Preview 2, including the new update from the weekend) -> 10.0 - Windows Server 2016 (TP 2) -> 10.0 The only situation where the code failed was when I tried your binaries on 2012 R2 (application can not be used on your system) - I was using the 32bit edition though, so that may be the reason. The manually compiled versions did work as expected. I am also +1 for keeping my clumpsy 8.1 workaround in, for the reasons you stated. The only thing I did notice was that a SKU was reported incorrectly, but I need to doublecheck with MSDN whether that is really true or if I am too confused by the many different names and versions. I'll create another bug report and patch once I come to that. Thank you so much for getting this fixed! I still don't understand why my attempts to add a manifest all failed ... :-( I'll do some more tests with Apache installations (the way I understand it, httpd.exe needs a manifest there), and if that's the case I'lltry to talk to the XAMPP people to maybe add this to their distribution, since I guess they are reponsible for a great chunk of WAMP-Installations. ------------------------------------------------------------------------ [2015-05-31 19:52:51] ab@php.net Now it's ported into the PHP5 tree. Please start with it, maybe right with 5.5, when you come to it. I've added basic code to recognize win10 and server 2016, as well as to properly recognize the win 8.1 servrer 2012. Now you can also check with further product types. But please don't remove the workaround for 8.1, it's still important fe if mod_php is loaded under httpd.exe which has no proper manifest. Thanks. ------------------------------------------------------------------------ [2015-05-30 21:19:11] wenz@php.net gone all weekend ... will do so early next week! ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=69642 -- Edit this bug report at https://bugs.php.net/bug.php?id=69642&edit=1

« previous php.bugs (#193194) next »