За последние 24 часа нас посетил 18001 программист и 1649 роботов. Сейчас ищут 1670 программистов ...

огрантчение по времени выполнение скрипта

Тема в разделе "PHP для новичков", создана пользователем kent2177, 9 дек 2009.

  1. kent2177

    kent2177 Активный пользователь

    С нами с:
    23 мар 2009
    Сообщения:
    6
    Симпатии:
    0
    Написал простенький скриптик работающий только с Xedant Human Emulator.
    Проблема в том что он зависает на некоторых сайтах ,например на которых есть ifrme реклама,разные ява скрипты.
    Как мне ограничеть выполнение скрипта по времени

    PHP:
    1. <?php
    2. // The following code is required to properly run Xedant.com Human Emulator
    3. require("../Templates/xedant_human_emulator.php");
    4. $filename = '../wordpres/numer.txt';
    5. $num= file($filename);
    6. $sait= file("../wordpres/baza.txt");
    7. for ($i=$num[0];$i<count($sait);$i++)
    8. {
    9.    echo "i=".$i."<br>";
    10.    $url =  trim($sait[$i]);
    11. $browser->navigate($url);
    12. $browser->wait(1);
    13.  
    14. $input->set_value_by_name("author","din");
    15. $input->set_value_by_name("email","aaaa@gawab.com");
    16.  
    17. $input->set_value_by_name("url","http://site.ru");
    18. $textarea->set_value_by_name("comment","коментарий");
    19. // get check state
    20.  $checked = $checkbox->is_checked_by_number(0);
    21. if ($checked=="true")
    22. $checkbox->set_checked_by_number(0,"false");
    23. else
    24. $checkbox->set_checked_by_number(0,"true");
    25. $button->click_by_name("submit");
    26. $browser->wait(1);
    27.  
    28. $somecontent =$i;
    29.    if (!$handle = fopen($filename, 'w')) {
    30.    echo "Не могу открыть файл ($filename)";
    31.    exit;
    32.    }
    33.  if (fwrite($handle, $somecontent) === FALSE) {
    34.    echo "Не могу произвести запись в файл ($filename)";
    35.    exit;
    36.    }
    37.    
    38.    echo "Ура! Записали ($somecontent) в файл ($filename)";
    39. }
    40.  
    41. // Quit
    42. $app->quit();
    43. ?>
     
  2. IT_Bidlo

    IT_Bidlo Активный пользователь

    С нами с:
    8 дек 2009
    Сообщения:
    2
    Симпатии:
    0
    Можно написать в скрипте:

    if (!set_time_limit(переменная))
    ini_set("max_execution_time", переменная);
     
  3. kent2177

    kent2177 Активный пользователь

    С нами с:
    23 мар 2009
    Сообщения:
    6
    Симпатии:
    0
    Это решение подойдёт только для обычного скрипта в Xedant Human Emulator он вызывает ошибку
    Fatal error: Maximum execution time of 30 seconds exceeded in C:\Program Files\Xedant\Human Emulator\Templates\Objects\Web\xhe_browser.php on line 70