Я использовал PHP для написания бота Telegram, который использует webhook
Это означает, что файл PHP вызывается для каждого обновления. Я использовал curl для публикации JSON https://api.telegram.org. Когда я отправляю сообщение в своем PHP-файле, оно отвечает примерно 1 секунда. Я думаю, потому что он не использует соединение curl. соединение закрывается после завершения PHP-файла.
Я также написал приложение Java, которое вызывает getUpdate
метод каждые 5 секунд. Это реагирует вокруг 500 миллисекунд потому что он повторно использует соединение.
Как я могу ускорить моего бота PHP так же, как мое приложение Java? Есть ли способ повторно использовать соединение, даже когда файл PHP завершен и запущен другой файл PHP?
Вот мой PHP-код:
function Post($method, $data)
{
$url = "https://api.telegram.org/bot".$authenticationToken."/".$method;
$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type: application/json"));
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_ENCODING, '');
$resultJSON = curl_exec($curl);
curl_close($curl);
$result = json_decode($resultJSON,true);
if(!$result["ok"])
LogF($resultJSON);
return $result;
}
P.S: время пинга URL-адреса около 200 миллисекунд.
Задача ещё не решена.
Других решений пока нет …