← К заметкам

Заметки

Как диагностировать fsockopen в коробке

fsockopen проверяет соединение, но не выполняет полноценный HTTP-запрос. Успешное открытие сокета на 443 ещё не означает, что приложение получит ожидаемый ответ API.

$socket = fsockopen('ssl://example.com', 443, $error_code, $error_text, 10);

if ($socket === false) {
    throw new RuntimeException($error_code . ': ' . $error_text);
}
fclose($socket);

Запустите проверку из того же окружения, где падает интеграция. PHP CLI и PHP-FPM могут использовать разные настройки и сертификаты доверия.

После успешного соединения проверяйте уже HTTP-статус и тело ответа через клиент, которым пользуется интеграция. При ошибке TLS исправляйте сертификат или цепочку доверия; отключение проверки не объясняет причину.

Документация: PHP: function.fsockopen.php.