Задать вопрос
@FulgerX2007

Почему readfile() выдает ошибку ssl?

Привет всем.
Такая ситуация .
Есть API : $url = 'https://x.x.x.x/api.php';
APi с самоподписанным сертификатом.

Есть код :
// стандартные опции для отключения проверки SSL
$opts = [
            'ssl' => [
                'verify_peer' => false,
                'verify_peer_name' => false,
            ]
        ];
$context = stream_context_create($opts);

// данная функция работает нормально без проблем
readfile($url,false,$context);

// данный вариант выдает ошибку 
// при использования фильтра для потока
stream_filter_register('ssf', 'StringStreamFilter')
readfile('php://filter/ssf/resource=' . $url, false, $context);


Ошибка :

Warning: readfile(): SSL operation failed with code 1. OpenSSL Error messages:
error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed in
  • Вопрос задан
  • 143 просмотра
Подписаться 2 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
greabock
@greabock
Могу
Если вы запускаете код локально, то чаще всего, причиной испорченных сертификатов TLS являются антивирусы. Попробуйте отключить сканирование защищенных (зашифрованных) соединений в настройках антивируса.
Ответ написан
CityCat4
@CityCat4 Куратор тега Цифровые сертификаты
Жил да был черный кот за углом...
Потому что сертификат недоверенный.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽