file_get_contents () ssl операция не удалась только на моем собственном сервере - PullRequest
0 голосов
/ 15 ноября 2018

Я пытался получить доступ к HTML-странице на своем собственном сервере через HTTPS.Таким образом, скрипт возвращает следующие ошибки:

Версия PHP - 5.6.38

Предупреждение: file_get_contents (): сбой операции SSL с кодом 1. Сообщения об ошибках OpenSSL: ошибка: 14090086: процедуры SSL: ssl3_get_server_certificate: сбой проверки сертификата в /home/user/public_html/index.php в строке 11

Предупреждение: file_get_contents (): не удалось включить шифрование в /home/user/public_html/index.php в строке 11

Предупреждение: file_get_contents (https://myniceurl.com/file.html): не удалось открыть поток: не удалось выполнить операцию в /home/user/public_html/index.php в строке 11

<?php

$contextOptions = [
    'ssl' => [
        'verify_peer' => true,
        'cafile' => '/etc/pki/tls/cert.pem',
    ]
];
$context = stream_context_create($contextOptions);

$data = file_get_contents('https://myniceurl.com/file.html', false, $context);

IЯ пробовал много решений с разных форумов, но ни один из них не помог. Когда я пытаюсь получить страницу с других сайтов через HTTPS, она работает, даже если я пытался извлечь (через HTTPS) ту же HTML-страницу на моем локальном компьютере, она работала правильно.Я думал, что сервер не может связываться сам. Для целей исследования я изменил HTTP, и он работал правильно.

Я пробовал до сих пор:

  1. Загруженный сертификатпакет, добавил его php.ini файл
  2. verify_peer = true и CAfile для stream_context_create

Я также подтверждаю, что allow_url_fopen работает.В связи со спецификой этой проблемы;Я не нахожу много информации для помощи.Кто-нибудь из вас сталкивался с чем-то подобным?Благодарю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...