Портфоліо
Розробляємо інтернет-магазини, CRM системи, SaaS, APP платформи — впроваджуємо AI у процеси та рішення.
Client Logo
Icon 5.0
+150 клієнтів
Новий проєкт
Project Image
Технології
Розробляємо інтернет-магазини, CRM системи, SaaS, APP платформи — впроваджуємо AI у процеси та рішення.
Client Logo
Icon 5.0
+150 клієнтів
Новий проєкт
Project Image
15.10.2025

Асинхронне виконання php – скриптів

Буває, що в процесі роботи якогось скрипта необхідно виконати інший скрипт і чекати, поки він закінчить свою роботу. Наприклад: У шапці нашого скрипта буде код, який здійснює пошук по XML файлу потрібного, унікального, рядка і якщо її немає – додає її (наприклад це рядок IP адреси користувача і USER_AGENT). Так ось – поки цей скрипт відпрацює – пройдуть секунди – навіщо користувачеві чекати цей час, адже йому потрібно побачити завантажений сайт відразу, адже результат роботи скрипта не вплине на подальшу роботу користувача на сайті.

Є кілька варіантів вирішення цього питання.

Один з них – сокети.

function RunAsynchronous($url, $options= array())
{
    $parts = parse_url($url);
     if (!$open = fsockopen($parts['host']))
    {
        return false;
    }
    $data = http_build_query($options, '', '&');
    fwrite($open, "POST " . (!empty($parts['path']) ? $parts['path'] : '/') . " HTTP/1.1\r\n");
    fwrite($open, "Host: " . $parts['host'] . "\r\n");
    fwrite($open, "Content-Type: application/x-www-form-urlencoded\r\n");
    fwrite($open, "Content-Length: " . mb_strlen($data,"UTF-8") . "\r\n");
    fwrite($open, "Connection: Close\r\n\r\n");
    fwrite($open, $data);
    fclose($open);
    return true;
}

Приклад використання:

RunAsynchronous('http://site/asynchronous-script.php', array('time' => time()));

У asynchronous-script.php буде доступний $ _POST[‘time’]. Тому в функції RunAsynchronous $options у нас масив, ми можемо передавати скільки завгодно параметрів.

Давайте
рухати
світ
разом
стати клієнтом
Redstone Icon
Зателефонувати
Менеджер REDSTONE
Play Muted Unmuted Link Drag