За последние 24 часа нас посетили 35086 программистов и 1737 роботов. Сейчас ищут 763 программиста ...

cURL зависание программы

Тема в разделе "PHP для новичков", создана пользователем Кубик, 30 мар 2017.

  1. Кубик

    Кубик Новичок

    С нами с:
    21 мар 2017
    Сообщения:
    92
    Симпатии:
    0
    Программа постоянно зависшая, код внутри работает но не идёт лог, нельзя понажимать на кнопки...
    Прочитал это обходят, фоновыми функциями и потоками, можно поподробнее ?
     
  2. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Рассказываю. Вам нужно скачать как минимум три фоновых функции и один поток. Направляете поток в то место, где должен идти лог и пускаете по нему ваши фоновые функции. Теперь самое главное: надо быстро понажимать на кнопки, иначе поток застрянет и перестанет работать даже код внутри. Удачи.
     
  3. Кубик

    Кубик Новичок

    С нами с:
    21 мар 2017
    Сообщения:
    92
    Симпатии:
    0
    Помогите отправить функцию в поток.
    Пишет ошибку:
    Uncaught Error: Missing argument 1 ($runnable) for php\lang\Thread::__construct() in res://app/forms/MainForm.php on line 32, position 14
    PHP:
    1. function doButtonClickLeft(UXMouseEvent $event = null)
    2.     {
    3.     $potok = new Thread;
    4.     $potok->onExecute = 'aa';
    5.     $potok->start();
    6.     }
    7.  
    8.    
    9. function aa ()
    10.     {
    11.     $arr = ['https://www.google.ru','https://www.google.ru','https://www.google.ru','https://www.google.ru','https://www.google.ru','https://www.google.ru'];
    12.     foreach ($arr as $url)
    13.         {
    14.         $ch = curl_init($url);
    15.         curl_setopt($ch, CURLOPT_POST, true);
    16.         curl_setopt($ch, CURLOPT_HEADER, true);
    17.         curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
    18.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    19.         curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko');
    20.         curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    21.         curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    22.         $text = curl_exec($ch);
    23.         curl_close($ch);
    24.         sleep(3);
    25.         }
    26.    
    27.    
    28.     }