|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2006-06-12 16:32 UTC] lee dot sargeant dot ls at wbpdata dot com
Description:
------------
6 dates should be outputted when the function in the script is executed. Instead I get a CPU 100% Usage and a fatal error once hitting 60 seconds. I have tried increasing the Memory to allow for a script but it did not work. Also tried on another clean server running a fresh install of PHP 5.1.4
Reproduce code:
---------------
function scheduleWorkingDay($daysback, $day, $month, $year)
{
//$arr = db_arr("SELECT * FROM issue_days WHERE title_id = $titleid");
$datetotime = strtotime($year.'-'.$month.'-'.$day);
$counter = 1;
$thiscount = 1;
while ( $counter != $daysback ) {
$suffix = $thiscount;
$goback = strtotime("-$suffix days", $datetotime);
$dateformat = date("d-m-y",$goback);
$day = date("D",$goback);
if ( $day == "Sat" ) {
$thiscount++;
//next;
} elseif ( $day == "Sun" ) {
$thiscount++;
//next;
} else {
//print "Got Workday [$day $counter]\n";
$thiscount++ ;
$counter++ ;
//next;
} }
echo $dateformat;
}
Expected result:
----------------
As the function is called in a loop that runs 6 times, 6 dates outputted from the above code.
Actual result:
--------------
PHP causes the server CPU to hit 100% and wille eventually timeout with a fatal error. If the loop runs for less than 6 times, the output is exactly as expected.
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Tue Dec 02 11:00:01 2025 UTC |
You seem to mis-understand. The function is called in a loop with this code: $count = 1; while($count <= 6) { //Set Field $field = "final".$count; //Get date scheduleWorkingDay($query2[$field], $_POST['day'], $_POST['month'], $_POST['year']); $count++; } If you change the loop to run 5 times instead of 6 as it shows here it will work fine. Anything above 5 and it will not work. 100% CPU Usage as well as the fatal error after the 60 second timeout. I feel there is something wrong, otherwise why would it work with 5 loops ok?