」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 當遇到「無法開啟流」時,如何解決 file_get_contents() 中的 HTTPS 錯誤?

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

發佈於2024-11-14
瀏覽:677

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 連接:

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);
}

透過實作這些修改,可以成功建立 HTTPS 連接,消除「無法開啟流」錯誤。

版本聲明 本文轉載於:1729682417如有侵犯,請聯繫[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3