Long polling — готовые решения?
1. Ставишь composer, далее переходишь в папку с проектом через командную строку (cd c://bot - пример), выполняешь код:
"composer require guzzlehttp/guzzle".
2. Создаешь init.php, в этой папке, с содержимым:

// Инклуды)
use GuzzleHttp\Client;
include('vendor/autoload.php');
include('telegramBot.php');
//Получаем данные
$telegramApi = new TelegramBot();
// Вычный цикл, обработчик
while (true) {
sleep(2);
      $updates = $telegramApi->getUpdates();  // Получаем обновление, методом getUpdates
        foreach ($updates as $update){
          if (isset($update->message->text)) {  // Проверяем Update, на наличие текста
            $text = $update->message->text;                // Переменная с текстом сообщения
            $chat_id = $update->message->chat->id;    // Чат ID пользователя
            $first_name = $update->message->chat->first_name;  //Имя пользователя
            $username = $update->message->chat->username;   //Юзернейм пользователя
          print_r($chat_id);
          print_r($username);
          if ($text == '/start'){ // Если пользователь подключился в первый раз, ему поступит приветствие
            $telegramApi->sendMessage($chat_id, 'Привет'. ' ' . $first_name . '!');  //Приветствует Пользователя
          } else {
              $telegramApi->sendMessage($chat_id, $first_name . '! Как дела?' );  // Спрашивает как дела
                }
              }
        }
    }
3. Создаешь telegramBot.php, в этой папке, вот содержимое:

// Подключение библиотеки 
use GuzzleHttp\Client;
use Telegram\Api;
class TelegramBot
{
	protected $token = "ТОКЕН_БОТА";
	protected $updateId;
	// Функция собирает URL
	protected function query($method, $params = [])
	{
		$url = "https://api.telegram.org/bot";
    	$url .= $this->token;
    	$url .= "/" . $method;
    	if (!empty($params))
  	{
      	$url .= "?" . http_build_query($params);
  	}
    $client = new Client([
      'base_uri' => $url
    ]);
    $result = $client->request('GET');
    return json_decode($result->getBody());
	}
	// Получаем обновления
  	public function getUpdates()
  	{
    $response = $this->query('getUpdates', [
        'offset' => $this->updateId + 1
    ]);
        if (!empty($response->result)) {
            $this->updateId = $response->result[count($response->result) -1]->update_id;
    }
    return $response->result;
  	}
  	// Отправляем сообщения
  	public function sendMessage($chat_id, $text)
  	{
  	$response = $this->query('sendMessage',[
    'chat_id' => $chat_id,
    'text' => $text
  	]);
    return $response;
  	}
}
4. Что бы запустить его, там же в командной строке запускаешь файл:
php init.php
Там же в консоли увидишь Id пользователя и его юзернейм)
Вот такой не много туповаты пример, но работает.
Не знаю что там за бота вы делаете которому нужен лонг-поллинг, но если действительно нужен, то заюзайте это https://github.com/walkor/phpsocket.io (основан на workerman)