ID: 26286 Comment by: loye dot young at iycc dot net Reported By: igg10 at alu dot ua dot es Status: No Feedback Bug Type: Apache2 related Operating System: Windows 2000 PHP Version: 4.3.4 New Comment:
There is a command in a Pear function that tries to write information to the server. Some Windows installations and Unix servers with strict Safe Mode options enabled, do not allow this. You can fix this yourself however. Open the file ./pear/Date/TimeZone.php in a text editor. Go to line 247. You should be in a function named 'inDaylightTime()'. Add this line: return date("I"); at the very top of the function. It should now look like this: function inDaylightTime($date) { return date("I"); $env_tz = ""; if(getenv("TZ")) $env_tz = getenv("TZ"); putenv("TZ=".$this->id); $ltime = localtime($date->getTime(), true); putenv("TZ=".$env_tz); return $ltime['tm_isdst']; } This should stop the error. Perhaps in the future, the Pear team will supply a work around. Previous Comments: ------------------------------------------------------------------------ [2004-07-05 16:23:19] adam dot phillips at orange dot net Continuing from my post above, I tried replacing the switch statement with if () {} elseif ... and still got the error so it appears it is not the switch statement ------------------------------------------------------------------------ [2004-07-05 16:01:24] adam dot phillips at orange dot net I experienced the same problem on 2 systems - Win2k with Apache 2.0.48/PHP 4.3.4 and Red Hat Linux with Apache 1.3.29 and PHP 4.3.5. So far as i can tell, the cause of the error is a switch statement. I have a function withian a class module declared as follows: function getsales($scope="", $returnasobjects=false) { } Inside this function is a switch statment based on $scope. There are four cases. The first three perform different functions which all return arrays and the fourth case (which is the default) performs all 3 of the previous cases and merges the results into a single array (I won't write out all the code since it all appears to work outside of this switch statement. Please e-mail if needed). The error occurs in the fourth case but originally the code was identical to that of the first 3 'stuck together'. I have since tried a number of alternatives none of which work. Most intriguing was when instead of using default: for the fourth case i renamed it case "all". Then it worked when called from another page but not when called from within the same class module. I then renamed it "everything" and the opposite was true. I then tried changed my function declaration to function getsales($scope="all", $returnasobjects=false) {} and it wouldn't work in either case. Similarly if i replaced "all" with everything. The final bit of strangeness was that i tried using the following code in the default case return array_merge($this->getsales("case1"), $this->getsales("case2"), $this->getsales("case3")) which wouldn't work even tho each of the cases worked individually. Each time i get the same error in my Apache Error Log Parent: child process exited with status 3221225725 -- Restarting ------------------------------------------------------------------------ [2004-06-28 16:54:47] joker at localfoo dot info The snippet posted by ''hakk at email dot it'' reproduces the ...Restarting... problem with the following packages also under WinXP/SP1 (not tested under Win2000) ===HOST: P3-1GHz/256MB Notebook Windows XP/SP1 Apache 2.0.49 PHP 4.3.7 (php4apache2.dll) with/without ZendOptimizer 2.5.1 ===TESTED WITH: PHP 4-win32-STABLE-200406272030 (PHP 4.3.8-dev as module) PHP 5-win32-200406271830 (PHP5.0.0-dev as module) ===SNIP OD SYSLOG: Ereignistyp: Informationen Ereignisquelle: Application Popup Ereigniskategorie: Keine Ereigniskennung: 26 Datum: 28.06.2004 Zeit: 16:36:16 Benutzer: Nicht zutreffend Computer: LT04 Beschreibung: Anwendungspopup: apache.exe - Fehler in Anwendung: Die Anweisung in "0x00000000" verweist auf Speicher in "0x00000000". Der Vorgang "read" konnte nicht auf dem Speicher durchgeführt werden. ===END OF SNIP This also occurs on some webapplications (e.g. mamboserver-cms, mylansite). They RIP sometimes under several circumstances preferred running with php as module. They work almost fine with PHP in CGI mode. I also had a user reporting Error 128 instead of 3221225477 ----------------- [Referring: http://bugs.php.net/bug.php?id=26771] The author of Bug 26771 has similar problems (...restarting...) executing the 'tick'-script (see the mentioned BUG report and http://nl.php.net/manual/en/control-structures.declare.php) crashes my constellation without ANY log (Apache2 error) entry. It doesn't even make the ...Restarting... log entry in Apache2 but this occurs on several applications as well. So the 'tick'-script might be an appropriate script for reproducing this error... My host closed with the following syslog message when executing the 'tick': ===SNIP OF SYSLOG: Ereignistyp: Informationen Ereignisquelle: Application Popup Ereigniskategorie: Keine Ereigniskennung: 26 Datum: 28.06.2004 Zeit: 14:26:17 Benutzer: Nicht zutreffend Computer: LT04 Beschreibung: Anwendungspopup: apache.exe - Fehler in Anwendung: Die Anweisung in "0x100c0afd" verweist auf Speicher in "0x00000000". Der Vorgang "written" konnte nicht auf dem Speicher durchgeführt werden. ===END OF SNIP Thx Chris ------------------------------------------------------------------------ [2004-06-15 15:37:05] jstaeb at gmx dot net Hey, same problem with 'PHPRojekt', (see also thread there: http://www.phprojekt.com/modules.php?op=modload&name=forum&file=index&kat=2&id=30946&action=writetext&) Using, Testsummary: ------------------- Win2000 SP4 DE apache 2.0.49 PHP 4.3.7 (no mmcache in ini's, no optimizer) mySQL 4.0.20a Several Tests with (on & off): SSL, perl, pyhton and several ini configs, e.g. register_globals=ON & OFF; MMCache.enabled = 0 & 1 Also as hinted, i copied (php4.3.7!) php4ts.dll, php4ts.lib to system32. In every combination no positive result. Only one difference when I used php4ts.dll & lib in the system32 folger. The php-code creates 2 frames. But this only happens when the files are inside the system32 folder as well. best regards juergen ------------------------------------------------------------------------ [2004-06-09 15:22:10] casuttc at postmail dot ch I have the same problem with Windows 2000 SP4, Apache 2.0.49, php5.0.0RC3 when I use a php-Script with OCI8-functions. Please help me. ------------------------------------------------------------------------ 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/26286 -- Edit this bug report at http://bugs.php.net/?id=26286&edit=1