不知是不是timeout的問題??

edited 十月 2013 in PHP新手區
請問大大,
我用for 回圈去執行另一個 function
可是結果都沒有跑完整個回圈

例如:我設定 100次,可是只跑出前10幾次的結果

請問是不是http.conf 中time out的設定問題??

如果是的話,我把time out 設到 9999999999999999999999999999
為什麼還是不行呢?

原始討論: http://twpug.net/x/modules/newbb/viewtopic.php?topic_id=824

評論

  • edited 九月 2005
  • edited 九月 2005
    麻煩大大了,m(__)m
    我的程式跑不到 echo "1111111111111111111111111"; 這一行
    照理說迴圈應該跑70次
    可是有時候跑4次、5次、8次............
    很奇怪..



    <?php
    $ecnum = "1.2.1.-";
    $codeindex=0;

    $con=0;

    $split=split("\.","$ecnum",4);

    if($split[3] != '-') {$con=1;}
    elseif($split[2] != '-') {$con=2;}
    elseif($split[1] != '-') {$con=3;}
    elseif($split[0] != '-') {$con=4;}
    else {echo "error!"; exit;}

    switch($con)
    {
    case '1' :
    con1($ecnum);
    break;
    case '2' :
    con2($ecnum);
    break;
    case '3' :
    con3($ecnum);
    break;
    case '4' :
    con4($ecnum);
    break;
    default :
    echo "error!";
    exit;
    }

    function con1($ecnum)
    {
    global $codelist,$codeindex;
    echo "ecnum is : ".$ecnum."<br>";
    $file = 'http://www.ebi.ac.uk/thornton-srv/databases/cgi-bin/enzymes/GetPage.pl?ec_number='.$ecnum;
    $fp = fopen($file,'r');

    while(!feof($fp)){
    $sub="";
    $line=fgetss($fp,4096,"<a>");
    if(ereg("pdbcode",$line)){
    $pos = strpos ($line, 'pdbcode');
    $sub = substr($line,$pos+8,4);
    $codelist[$codeindex]=$sub;
    $codeindex++;
    echo $sub."ww".$codelist[$codeindex-1]."ww".$codeindex."<br>";
    }
    }
    fclose($fp);
    echo "<hr>";
    }//end con1()

    function con2($ecnum)
    {
    global $codelist,$codeindex;
    $file = 'http://www.ebi.ac.uk/thornton-srv/databases/cgi-bin/enzymes/GetPage.pl?ec_number='.$ecnum;
    $fp = fopen($file,'r');
    $count=0;

    while(!feof($fp)){
    $sub="";
    $line=fgetss($fp,8192,"<a>");
    if(ereg("ec_number=[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+",$line)){
    $pos = strpos ($line, 'ec_number');
    $pos += 10;
    while(substr($line,$pos,1) != '"')
    {
    $sub .= substr($line,$pos,1);
    $pos++;
    }

    $list[$count]=$sub;
    $count++;
    } //end if
    }
    fclose($fp);

    for($i=0;$i<$count;$i++) {
    echo "$list[$i]"."<br>";
    con1($list[$i]);
    }
    echo "111111111111111111111111111111111111111111";

    for($i=0;$i<$codeindex;$i++)
    echo "$codelist[$i]<br>";
    }//end con2()
    ?>
  • edited 九月 2005
    請修改 PHP.INI 的下面兩個項目:

    max_execution_time = 300;
    memory_limit = 8M;

    程式目前沒發現什麼樣的問題,就是要跑很久而已。
  • edited 九月 2005
    原來如此,問題解決了,

    效率方面的話,我會想辦法改善

    另外真的非常佩服大大,什麼問題都知道怎麼解決
    太了不起了,而且回覆速度超快的,我在別的討論區發問
    都沒什麼人理我 T_T ~ 好sad

    超愛這個網站的,狂推!!!!!!!!!!!!!!
Sign In or Register to comment.