ID: 25759 Updated by: [EMAIL PROTECTED] Reported By: david dot nicholls at camden dot gov dot uk -Status: Open +Status: Assigned Bug Type: COM related Operating System: Windows 2000 PHP Version: 5CVS-2003-10-06 (dev) -Assigned To: +Assigned To: wez
Previous Comments: ------------------------------------------------------------------------ [2003-10-07 09:44:33] david at replicant dot org dot uk Many thanks for your time. The foreach contruct use appeals to my sensibilites much more than the while one. Hope the proding gets the results :) - i'm stuck at the momement as PHP4 wont be changed to fix to a show stopping bug and 5 wont work yet. ------------------------------------------------------------------------ [2003-10-07 09:23:35] [EMAIL PROTECTED] of course, I meant this: foreach ($comUsers as $user) { $uClass = $user->Class; $uName = $user->Name; echo "$uName \t $uClass \n\r"; } I'll look into the API docs for ADSI later to sanity check my other comments also. ------------------------------------------------------------------------ [2003-10-07 09:21:29] [EMAIL PROTECTED] One of the differences between PHP 4 COM and PHP 5 COM is that PHP doesn't do magic for IEnumXXX interfaces, and that is what I suspect the problem is here. That means that the magical $obj->next() stuff won't work, and should never have worked in the first place, because they aren't really methods of the com object, but of an iterator interface. (The PHP 4 COM stuff had quite a few of these hacks). The plan for PHP 5 is to allow this: foreach ($comUsers as $user) { $uClass = $obj->Class; $uName = $obj->Name; echo "$uName \t $uClass \n\r"; } but to implement that, I'm waiting for some engine magic, so I'll prod the relevant people about it. ------------------------------------------------------------------------ [2003-10-07 08:52:52] david dot nicholls at camden dot gov dot uk Its one of the usefule errors :) C:\Inetpub\wwwroot\ntadmin>php comtest.php Content-type: text/html X-Powered-By: PHP/5.0.0b2-dev Making COM connection using ADSI WinNT://Camden Boundexception Object ( [message:protected] => Unknown exception [string:private] => [code:protected] => 0 [file:protected] => C:\Inetpub\wwwroot\ntadmin\comtest.php [line:protected] => 12 [trace:private] => Array ( ) [message] => <b>Source:</b> Active Directory<br/><b>Description:</b> Unspecified error [file] => C:\Inetpub\wwwroot\ntadmin\comtest.php [line] => 12 ) C:\Inetpub\wwwroot\ntadmin> Line 12 is the 'while' line ------------------------------------------------------------------------ [2003-10-07 08:45:46] [EMAIL PROTECTED] Put the try { } catch () stuff around the whole of your script and lets see what's going wrong. (Yes, PHP should at least tell you about the uncaught exception; that appears to be another bug) ------------------------------------------------------------------------ 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 http://bugs.php.net/25759 -- Edit this bug report at http://bugs.php.net/?id=25759&edit=1