儘管瀏覽器訪問,仍可解決file_get_contents() 500 錯誤
嘗試使用PHP 的file_get_contents() 函數檢索網頁內容時,您可能會遇到500 內部伺服器錯誤。但是,在網頁瀏覽器中造訪相同網站可能不會產生任何問題。這種不一致凸顯了一個潛在的問題。
為了解決此問題,您使用了 cURL 作為替代方法。然而,利用cURL 似乎會產生不同的錯誤訊息:「物件引用未設定為物件的實例。」
此問題的可能解決方案是利用以下解決方法:
<code class="php">$opts = array('http' => array('header' => "User-Agent:MyAgent/1.0\r\n")); $context = stream_context_create($opts); $header = file_get_contents('https://www.example.com', false, $context);</code>
此解決方法旨在透過設定自訂User-Agent 標頭來模擬瀏覽器代理程式的請求。如果 Web 伺服器區分瀏覽器請求和腳本請求,這可能會解決該問題。
如果此解決方法失敗,則您的伺服器設定可能不允許您存取 HTTPS 資源。您可能需要相應地調整伺服器設定才能啟用 HTTPS 請求。
以上是為什麼我的 PHP `file_get_contents()` 在瀏覽器中載入網站時回傳 500 錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!