ID: 36646 Comment by: gmartyn at judicialtitle dot com Reported By: christian dot cal at gmx dot de Status: No Feedback Bug Type: Session related Operating System: Windows XP PHP Version: 5.1.2 New Comment:
I am able to reproduce this bug with php 5.1.4 on IIS 6. I also tried one of the solutions provided by the first comment: $helper=array_keys($_SESSION); foreach ($helper as $key){ unset($_SESSION[$key]); } ..but after a print_r($_SESSION), I got this. Note the Access Violation: The session is now: Array ( [numRecords] => 2 [curRecord] => 1 [curTab_r0] => Header [curPartyType_r1] => d [numDebtors_r1] => 1 [numSecured_r1] => 1 [numProperty_r1] => 1 [curTab_r1] => Document [OriginalDocPgcnt_r1] => 1PHP has encountered an Access Violation at 01E1CCA6 [curTab_r2] => Document [OriginalDocPgcnt_r2] => 2 [chkbox_doc_nonstd_r1] => false [curPartyType_r2] => d [numDebtors_r2] => 1 [numSecured_r2] => 1 [numProperty_r2] => 1 ) Previous Comments: ------------------------------------------------------------------------ [2006-03-22 01:00:04] php-bugs at lists dot php dot net No feedback was provided for this bug for over a week, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open". ------------------------------------------------------------------------ [2006-03-14 12:45:45] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5.1-latest.tar.gz For Windows: http://snaps.php.net/win32/php5.1-win32-latest.zip I have just tested your test case and it works fine here. Do you do session_start() on a page which unsets $_SESSION? ------------------------------------------------------------------------ [2006-03-07 18:29:37] christian dot cal at gmx dot de I recently figured out that apache crashed when running into an infinitive loop it ran by using header("Location: "), because the vars in $_SESSION wasn't unset by unset(). I believe the error with not unsetting vars in foreach() has been posted. ------------------------------------------------------------------------ [2006-03-07 15:04:48] christian dot cal at gmx dot de Description: ------------ I am using PHP as an apache2 modul. When trying to unset all vars that are stored in $_SESSION i use a foreach loop combined with unset. This method crashes the apache2. I moved from PHP 4.4.2 to 5.1.2. The unmodified code works for 4.4.2 but crashes the server when using 5.1.2. Reproduce code: --------------- foreach ($_SESSION as $key => $value){ unset($_SESSION[$key]); } Expected result: ---------------- All vars should be removed from $_SESSION So i tried this: $helper=&$_SESSION; foreach ($helper as $key => $value){ unset($helper[$key]); } This code does what I have expected from the code above. Also this works: $helper=array_keys($_SESSION); foreach ($helper as $key){ unset($_SESSION[$key]); } ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=36646&edit=1