CURL сообщение на локальный адрес - PullRequest
0 голосов
/ 08 июля 2020

Я пытаюсь обойти ненормальное поведение функции sleep (), назначив часть выполнения кода другой странице. Плагин WordPress, который я разрабатываю, требует, чтобы удаленный сайт выполнял вызов для подтверждения оплаты на сервер шлюза через JavaScript. Сервер должен немедленно ответить эхо-сообщением. После этого эха скрипту необходимо спать около 40 секунд, после чего он подтверждает, завершил ли удаленный интернет-магазин транзакцию (посредством другого вызова шлюза). Если этот второй вызов не будет получен в течение времени, то необходимо выполнить некоторые откаты.

Проблема в том, что функция Sleep () будет удерживать все команды эха, пока не перейдет в спящий режим - очевидно, вот как это работает . Я пробовал управлять очисткой кеша, например:

ob_start();  //with or without this, it still fails
echo "Success";
ob_flush(); 
flush();
sleep(4);
//run reversal codes if condition is met

Из других источников сообщается, что даже если это работает, всегда есть предупреждение, что браузеры (и даже некоторые настройки сервера) могут переопределить это поведение - так что это ненадежно.

Мой предварительный обходной путь - передать выполнение кода другому файлу через curl-post (надеюсь, это не будет ждать), и я могу это сделать. Вопрос в том, как мне дать этот URL-адрес в качестве локального адреса для оптимизации работы. Стремиться изо всех сил, включая рукопожатие TSL, для местного поста, кажется, за бортом!

...