Bug #43897 [Opn->Fbk]: $ie not cleared on IE quit

From: Date: Mon, 03 May 2021 12:24:02 +0000
Subject: Bug #43897 [Opn->Fbk]: $ie not cleared on IE quit
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-233660@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=43897&edit=1 ID: 43897 Updated by: cmb@php.net Reported by: csaba at alum dot mit dot edu Summary: $ie not cleared on IE quit -Status: Open +Status: Feedback Type: Bug Package: COM related Operating System: Win XP Pro PHP Version: 5.2.5 -Assigned To: +Assigned To: cmb Block user comment: N Private report: N New Comment: Is this still an issue with any of the actively supported PHP versions[1]? [1] <https://www.php.net/supported-versions.php> Previous Comments: ------------------------------------------------------------------------ [2008-01-20 02:52:11] csaba at alum dot mit dot edu Description: ------------ In the code below, if the visible IE is closed, whether by script or by the user, the bug manifests itself. What will happen is that there will be a sequence of (ReadyState) 4's displayed while IE is extant. When IE is closed, "Exiting" should be printed, but what happens is that a sequence of ReadyState=0's is printed, which is a bug. The bug only happens if there are no instances of IE when the script is run. The second instance of $ie has to be 'static' Csaba Gabor from Vienna Reproduce code: --------------- <?php // IE being closed doesn't terminate script // if there are no IE instances on startup $ie = new COM("InternetExplorer.Application"); $ie->visible = true; $ie->Navigate2 ("about:blank"); $ie2 = new COM("InternetExplorer.Application"); try { while ($ie->ReadyState>=0) { print $ie->ReadyState; com_message_pump(200); } } catch (com_exception $e) {} print "Exiting"; ?> Expected result: ---------------- I expect to see a sequence of 4s until I close IE, and then I expect to see Exiting printed Actual result: -------------- A sequence of 4s is printed, but when I close IE a sequence of 0s is printed which doesn't terminate till I use the windows task manager (ctrl+alt+delete) to kill the iexplore process. (One could also use ctrl+C in the Cmd window, but that leaves a hidden IE instance, so the bug won't show itself next time around, until the IE is removed). The bug manifests itself without user actions if $ie->Quit(); is inserted right above the 'try' line If there is already an instance of IE in existence, then the bug does not happen. The bug will also show itself if the '$ie2' line is replaced with: ieStatic(); function ieStatic() { static $ie; $ie = new COM("InternetExplorer.Application"); } ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=43897&edit=1

« previous php.bugs (#233660) next »