PHP在公共函数内超时

时间:2017-08-25 17:02:48

标签: php html function

我正在拉一个"大"来自batabase的sql查询,50000条记录。它在大约5秒内完成但是在拉动之后,我通过一个函数运行它来创建一个html表,它因某些原因保持超时。我可以将查询限制为< 30k并且它将在大约19秒内执行php脚本,但是任何更大的表格都没有显示,但页面上的所有内容都会加载。

我尝试重置时间限制,但没有解决问题

 ignore_user_abort(true);
 set_time_limit(0);

生成表时可能导致超时的原因是什么?

EDIT1:

我修改了php.ini文件以允许更长的执行时间,但没有解决问题。

public function report_table($data, $header_spacing, $column)
{


    $html = "<div class='accordion_div'>";

    foreach($data as $d_row){

        $title = $d_row[0][$column];
        $html .= $this->accorion_button($title);
        $html .= "<div class='panel'><table border='0' style='$align; width: 980px;'>";
        foreach($d_row as $d1){


            $html .= "<tr>";
            $x=0;
            $y=$x+1;
            $html .=    "<td style='width: $header_spacing[$x];' scope='col' >&nbsp;</td>";
            foreach($d1 as $d){

                    $html .=    "<td style='width: $header_spacing[$y];' scope='col' >$d</td>";

                $x++;
                $y++;
            }

            $html .= "</tr>";
        }

            $html .= "</table>";
        $html .= "</div>";

    }



    return $html;
}

1 个答案:

答案 0 :(得分:1)

你应该做些什么来避免这些事情:

  1. 使用ini_set(),textbox.Text += node.value + Environment.NewLine;
  2. 增加PHP内存容量

    所以你的代码是:

    ini_set('memory_limit','512M');
    1. 添加分页php或jquery,我有类似的要求显示超过65K记录,使用以下jquery分页,它完美地工作。请检查:codepen.io/PhilipJohnBasile/pen/weorgm