PHP file_get_contents() 無法開啟串流:HTTP 要求失敗
嘗試使用PHP 的file_get_contents() 函數從您擷取內容時,可能會遇到錯誤訊息,指出「無法開啟流:HTTP 請求失敗!」當PHP無法與指定 URL 建立連線時,就會出現此問題。
問題排查
錯誤訊息表示 file_get_contents() 發出的 HTTP 請求失敗的。這可能是由於以下幾個原因造成的:
使用cURL 作為替代方案
如果file_get_contents() 失敗,可以使用替代方案解決方案是使用cURL,這是一種流行的PHP 擴展,用於發出HTTP 請求。 cURL 提供了對請求配置的更多控制,並允許對潛在問題進行故障排除。
使用cURL 的範例程式碼
<?php // Initialize a cURL handle $curl_handle = curl_init(); // Set the URL to fetch curl_setopt($curl_handle, CURLOPT_URL, 'http://###.##.##.##/mp/get?mpsrc=http://mybucket.s3.amazonaws.com/11111.mpg&mpaction=convert format=flv'); // Set a timeout for the connection curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2); // Request the content to be returned instead of printed curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); // Set a user agent to identify your application curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Your application name'); // Execute the request and store the response $query = curl_exec($curl_handle); // Close the cURL handle curl_close($curl_handle); ?>
結論
使用file_get_contents() 從取得內容時,請確保URL 有效且有沒有網路連線問題。如果這些檢查失敗,請考慮使用 cURL 作為替代方案,因為它提供了更大的靈活性和故障排除功能。
以上是為什麼我的 PHP `file_get_contents()` 失敗並顯示'HTTP 請求失敗”,如何使用 cURL 作為解決方案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!