首頁  >  文章  >  後端開發  >  當遇到「無法開啟流」時,如何解決 file_get_contents() 中的 HTTPS 錯誤?

當遇到「無法開啟流」時,如何解決 file_get_contents() 中的 HTTPS 錯誤?

Linda Hamilton
Linda Hamilton原創
2024-10-23 21:43:01841瀏覽

How to Resolve HTTPS Errors in file_get_contents() When Encountering

解決file_get_contents() 中的HTTPS 錯誤

使用file_get_contents() 透過HTTPS 協定建立連線時,可能會遇到「fail to打開流”錯誤。要修正此問題並透過安全通道啟用通信,必須滿足某些要求。

HTTPS 相容性要求:

  • PHP OpenSSL 擴充: 必須安裝並啟動 php_openssl 擴充。此擴充功能提供了必要的加密相關功能。
  • allow_url_fopen 設定: PHP 設定參數allow_url_fopen 必須設定為「On」。這允許 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn