На всех тарифах виртуального хостинга есть cURL.
Примеры Curl Скриптов: https://www.plus2net.com/php_tutorial/curl-demo.php
Ниже описаны различные варианты проверки работы Curl
При открытии файла test-curl.php с простейшим тестовым скриптом через браузер http://сайт.ru/test-curl.php:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.binance.com/api/v3/time");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
?>
В ответ получим: { "serverTime": 1639392389001 }, что аналогично содержимому страницы https://api.binance.com/api/v3/time
Значит CURL работает.
Скрипт тестирования CURL скачиваем из источника: https://gist.github.com/janus57/333b8575d9fc049f9b6771fd452eb7af
Открываем через браузер, указываем сайт, с которого нужно получить данные. Данный скрипт покажет ошибки, типа getaddrinfo thread failed to start, тогда, когда браузер может их не отображать
Если в ответ приходит "getaddrinfo() thread failed to start", то необходимо увеличить количество процессов для пользователя. Для этого обратитесь в Центр поддержки хостинга.
Панель управления - Планировщик cron. Инструкция по добавлению задания в планировщик -> тут
Задаем команду @hourly
- указав полный путь до бинарного исполняемого файла curl:
/usr/bin/curl --location --request GET 'https://api.binance.com/api/v3/time' > /var/www/userXXX/data/output.txt
- или через браузер:
wget -O /var/www/userXXX/data/output.txt 'https://api.binance.com/api/v3/time'; >/dev/null 2>&1
Как итог получаем вывод в файл output.txt:
{"serverTime":1726052174907}

Если в ответ приходит "getaddrinfo() thread failed to start", то это означает, что запущено много одновременных процессов.
Для решения достаточно увеличить время в задании CRON.
CISHost - у нас отличные VDS!