ホームページ  >  記事  >  バックエンド開発  >  file_get_contents() で「ストリームを開くことができませんでした」というエラーが発生した場合に HTTPS エラーを解決する方法

file_get_contents() で「ストリームを開くことができませんでした」というエラーが発生した場合に HTTPS エラーを解決する方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-23 21:43:01921ブラウズ

How to Resolve HTTPS Errors in file_get_contents() When Encountering

file_get_contents() での HTTPS エラーへの対処

file_get_contents() を利用して HTTPS プロトコル経由の接続を確立すると、「接続に失敗しました」というエラーが発生する場合があります。オープンストリーム」エラー。この問題を修正し、安全なチャネル経由で通信できるようにするには、特定の要件を満たす必要があります。

HTTPS 互換性の要件:

  • PHP OpenSSL 拡張機能: php_openssl 拡張機能をインストールしてアクティブ化する必要があります。この拡張機能は、必要な暗号化関連の機能を提供します。
  • allow_url_fopen 設定: PHP 構成パラメーターallow_url_fopen を「オン」に設定する必要があります。これにより、PHP がリモート URL に接続できるようになります。

PHP.ini で HTTPS サポートを有効にする:

互換性を確保するには、php.ini に次の行を追加します。 ini 設定ファイルがまだ存在しない場合:

extension=php_openssl.dll

allow_url_fopen = On

HTTPS サポートを使用して更新されたコード:

適切な設定があれば、提供されるコード スニペットは次のようになります。 HTTPS 接続で動作するように変更されました:

<code class="php">function send($packet, $url) {
  $ctx = stream_context_create(
    array(
      'https'=>array(
        'header'=>"Content-type: application/x-www-form-urlencoded",
        'method'=>'POST',
        'content'=>$packet
      )
    )
  );

  return file_get_contents($url, 0, $ctx);
}</code>

これらの変更を実装すると、HTTPS 接続が正常に確立され、「ストリームを開けませんでした」エラーが解消されます。

以上がfile_get_contents() で「ストリームを開くことができませんでした」というエラーが発生した場合に HTTPS エラーを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。