php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #35954 Fatal com_exception
Submitted: 2006-01-10 02:58 UTC Modified: 2006-01-26 12:20 UTC
Votes:7
Avg. Score:4.7 ± 0.7
Reproduced:7 of 7 (100.0%)
Same Version:6 (85.7%)
Same OS:4 (57.1%)
From: lukasoz at bigpond dot net dot au Assigned: wez (profile)
Status: Closed Package: COM related
PHP Version: 5.1.1 OS: Windows XP SP2
Private report: No CVE-ID: None
 [2006-01-10 02:58 UTC] lukasoz at bigpond dot net dot au
Description:
------------
With PHP 5.1.1 and Apache 2.0.55, running PHP as an Apache module, many COM objects (applications AND DLLs) do not seem to instantiate properly.

COM permissions are set correctly in DCOMConfig, and the offending code works correctly in PHP 5.0.5 and earlier.

See the attached example using the freely available iTunes

Reproduce code:
---------------
$iTunes = new COM("iTunes.Application") or die("Unable to open iTunes");


Expected result:
----------------
Fatal error: Uncaught exception 'com_exception' with message 'Error [0x80020003] Member not found. ' in C:\Program Files\Apache Group\Apache2\htdocs\test.php:3 Stack trace: #0 C:\Program Files\Apache Group\Apache2\htdocs\test.php(3): unknown() #1 {main} thrown in C:\Program Files\Apache Group\Apache2\htdocs\test.php on line 3



Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2006-01-18 12:08 UTC] bke15 at gmx dot de
Hi 

I have the same Problem using DomDocuments. In release 5.0.5 this sample works fine. Sinve 5.1 until 5.1.2 we get the same error as obove.

Sample:

<?
try {
		// Count Items found
		echo "Searching for Process :" . $c_process_title . " on all items.<br><br>";
		$objNodeList = $dom->documentElement->selectNodes("/item");
		if( $objNodeList->length > 0 ) {
			echo "Found (" . $objNodeList->length . ") Item(s)<br>";
			
			while( $node = $objNodeList->nextNode() ) {
				$id = $node->selectSingleNode("identity")->text;
				echo "<li>" . $node->selectSingleNode("title")->text . " ($id)</li>";	
			}
		} else {
			echo "nothing found<br>";
		}
		
	} catch (Exception $e) {
		die("Exception caught : " . $e->getMessage());
	}
?>

Output in Browser:

Searching for Process :'Test' on all items.

Found (4) Item(s)
Exception caught : Error [0x80020003] Member not found.

My 5.0.5 PHP executes this correct and lists the 4 items.
 [2006-01-26 12:20 UTC] rrichards@php.net
This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.


 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Tue Mar 19 02:01:28 2024 UTC