Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP无限循环在60秒后未终止_Php - Fatal编程技术网

PHP无限循环在60秒后未终止

PHP无限循环在60秒后未终止,php,Php,我创建了一个无限PHP while循环,该循环增加了一个变量,然后返回: $num = 1; while($num >0) { echo $num . "<br/>"; $num++; } 如果我错了,很抱歉,但我希望看到该作业在浏览器中被删除(没有新的回音!) 有谁能告诉我更多关于无限PHP作业运行的信息,以及它们在服务器上实际何时被终止的信息吗?你把执行时间和挂钟时间搞混了。它们不是一回事。处理器在代码的每个循环上使用很少的执行时间。这最终会让你超时,但这要比一分钟长得

我创建了一个无限PHP while循环,该循环增加了一个变量,然后返回:

$num = 1;

while($num >0) {
echo $num . "<br/>";
$num++;
}
如果我错了,很抱歉,但我希望看到该作业在浏览器中被删除(没有新的回音!)


有谁能告诉我更多关于无限PHP作业运行的信息,以及它们在服务器上实际何时被终止的信息吗?

你把执行时间和挂钟时间搞混了。它们不是一回事。处理器在代码的每个循环上使用很少的执行时间。这最终会让你超时,但这要比一分钟长得多

这样想,您的处理器可能运行在2GHz。您认为执行一个循环需要多少指令?echo上的时间很长(即很慢),并且不计入处理器执行时间。

//使用set\u time\u limit
//using set_time_limit 
// starting php code here
echo "starting...\n"; 
// set_time_limit(10); //either would work
ini_set("max_execution_time", 10); //either would work


function doSomeExpensiveWork($currentTime){
  for ($r = 0; $r < 100000; $r++){ 
    $x =  tan(M_LNPI+log(ceil(  date("s")*M_PI*M_LNPI+100))); 
  } 
}

try{
  while(true)
  { 
      $currentTime = date("H:m:s"); 
      echo $currentTime, "\n";
      doSomeExpensiveWork($currentTime);
  } 
} catch (Exception $e) {
  //echo 'Caught exception: ',  $e->getMessage(), "\n";
}
echo "this will not be executed! $x"; 
// code end
//在这里启动php代码 回显“正在启动…\n”; //设置时间限制(10)//两种方法都可以 ini设置(“最大执行时间”,10)//两种方法都可以 函数doSomeExpensiveWork($currentTime){ 对于($r=0;$r<100000;$r++){ $x=tan(M_LNPI+log(ceil(日期)(“s”)*M_PI*M_LNPI+100)); } } 试一试{ while(true) { $currentTime=日期(“H:m:s”); echo$currentTime,“\n”; doSomeExpensiveWork(当前时间); } }捕获(例外$e){ //回显“捕获的异常:”,$e->getMessage(),“\n”; } echo“这将不会执行!$x”; //代码端
睡眠时间不计入最大执行时间限制。您是否在循环中使用
sleep()
?不,抱歉,我刚刚包含了循环:您是否正在编辑正确的php.ini文件?在ubuntu上,一个在php文件夹中,另一个在apache/php文件夹中。根据您的环境设置,这些设置可能会更改。如果使用pear安装,它可能位于php5文件夹中。使用$find-名称“php.ini”您好,该网站位于共享服务器上。我从httpsdocs运行并获得了这些设置。您应该尝试绘制每次循环执行的时间,而不是数字,以确保您期望看到的超过60秒的循环只是由于网络延迟、将整个缓冲区发送到web浏览器等原因而产生的时间。您认为这个答案有助于OP理解,还是让他困惑?否决理由:不explanation@DanFromGermany这是他的问题:“有谁能给我更多关于无限PHP作业运行的信息,以及它们在服务器上何时被杀死的信息吗?”。在投反对票之前,先看问题。学会接受别人的天赋。谢谢
//using set_time_limit 
// starting php code here
echo "starting...\n"; 
// set_time_limit(10); //either would work
ini_set("max_execution_time", 10); //either would work


function doSomeExpensiveWork($currentTime){
  for ($r = 0; $r < 100000; $r++){ 
    $x =  tan(M_LNPI+log(ceil(  date("s")*M_PI*M_LNPI+100))); 
  } 
}

try{
  while(true)
  { 
      $currentTime = date("H:m:s"); 
      echo $currentTime, "\n";
      doSomeExpensiveWork($currentTime);
  } 
} catch (Exception $e) {
  //echo 'Caught exception: ',  $e->getMessage(), "\n";
}
echo "this will not be executed! $x"; 
// code end