ID: 33086 Updated by: [EMAIL PROTECTED] Reported By: hmp96 at yahoo dot co dot uk -Status: Open +Status: Feedback Bug Type: COM related Operating System: Windows XP SP2 PHP Version: 5.0.4 New Comment:
I can assure you that PHP does absolutely nothing differently in the COM extension, regardless of which SAPI is in use. I suspect that this is somehow related to the CGI running with a more restricted token than CLI, and this is not something that PHP can fix. Please provide use variant_get_type() on the vendor fields to see if there is any difference in the types coming back from there. If you run the CGI from a dos box (eg: just like the CLI), are there any differences? Previous Comments: ------------------------------------------------------------------------ [2005-05-20 17:17:58] hmp96 at yahoo dot co dot uk Description: ------------ I am having some weird differences when using COM in a CGI environment while it works fine in a CLI environment. Basically, I am querying the "WinMgmts:" using COM and the WMI's WQL query I provide is "Select * From Win32_Product". All fields are retrieved fine, except for the Vendor field which is sometimes lacking information; this only happens when the script is running in a CGI environment, but the values are retrieved fine in a CLI environment, i.e. script run from the command line. The script in the "Reproduce Code" section will suffice when testing in CGI and a CLI environment. Note, if you are having problem running a WMI related script on IIS, thats probably because the security needs to be tweaked using WMI Control snap-in from MMC. Reproduce code: --------------- <pre> <?php $wmi = new COM("WinMgmts:root/cimv2"); $colProducts = $wmi->ExecQuery("Select * From Win32_Product"); echo "Applications Installed on Local Machine\r\n"; try { foreach($colProducts as $objProduct) { printf("Name: %s, Version: %s, Vendor: %s\r\n", $objProduct->Name, $objProduct->Version, $objProduct->Vendor); } } catch (Exception $e) { echo $e->GetMessage(); } ?> </pre> Expected result: ---------------- When run, it should fill the 'Vendor' field of the Win32_Product class in a CGI/ISAPI environment. Basically it should be same as the CLI environment's output. Even some of the applications are missing when run in a CGI environment. Here is the CGI instance of the PHP script: Applications Installed on Local Machine Name: WebFldrs XP, Version: 9.50.5318, Vendor: Microsoft Corporation Name: GFI LANguard Network Security Scanner 5.0, Version: 5.0.2004.0728, Vendor: GFI Software Ltd. Name: Adobe Reader 6.0.1, Version: 006.000.001, Vendor: Adobe Systems Incorporated Name: McAfee VirusScan Enterprise, Version: 7.1.0, Vendor: Network Associates Name: Belkin Bluetooth Software, Version: 1.4.2.10, Vendor: Name: ActivePerl 5.8.6 Build 811, Version: 5.8.811, Vendor: ActiveState Name: FileMaker Pro 6, Version: 6.0.1.0, Vendor: FileMaker, Inc. Name: Java 2 Runtime Environment, SE v1.4.2_03, Version: 1.4.2_03, Vendor: Name: Microsoft Office Professional Edition 2003, Version: 11.0.6361.0, Vendor: Microsoft Corporation Name: HP Deskjet 3840, Version: 1.00.0000, Vendor: Name: MSN Messenger 7.0, Version: 7.0.0777, Vendor: Microsoft Corporation Name: Microsoft .NET Framework 1.1, Version: 1.1.4322, Vendor: Microsoft Name: HighMAT Extension to Microsoft Windows XP CD Writing Wizard, Version: 1.1.1905.1, Vendor: Microsoft Corporation Name: VMware Workstation, Version: 4.0.0.4460, Vendor: Actual result: -------------- <pre> Applications Installed on Local Machine Name: WMI Tools, Version: 1.50.1131.0001, Vendor: Microsoft Corporation Name: MySQL Query Browser 1.1, Version: 1.1.5, Vendor: MySQL AB Name: WebFldrs XP, Version: 9.50.5318, Vendor: Microsoft Corporation Name: GFI LANguard Network Security Scanner 5.0, Version: 5.0.2004.0728, Vendor: GFI Software Ltd. Name: Adobe Reader 6.0.1, Version: 006.000.001, Vendor: Adobe Systems Incorporated Name: McAfee VirusScan Enterprise, Version: 7.1.0, Vendor: Network Associates Name: Belkin Bluetooth Software, Version: 1.4.2.10, Vendor: WIDCOMM, Inc. Name: ActivePerl 5.8.6 Build 811, Version: 5.8.811, Vendor: ActiveState Name: FileMaker Pro 6, Version: 6.0.1.0, Vendor: FileMaker, Inc. Name: Java 2 Runtime Environment, SE v1.4.2_03, Version: 1.4.2_03, Vendor: Sun Microsystems, Inc. Name: Microsoft Office Professional Edition 2003, Version: 11.0.6361.0, Vendor: Microsoft Corporation Name: HP Deskjet 3840, Version: 1.00.0000, Vendor: Hewlett-Packard Name: MSN Messenger 7.0, Version: 7.0.0777, Vendor: Microsoft Corporation Name: Microsoft .NET Framework 1.1, Version: 1.1.4322, Vendor: Microsoft Name: HighMAT Extension to Microsoft Windows XP CD Writing Wizard, Version: 1.1.1905.1, Vendor: Microsoft Corporation Name: VMware Workstation, Version: 4.0.0.4460, Vendor: VMware, Inc. </pre> ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=33086&edit=1