Menyelesaikan masalah 500 Ralat dengan file_get_contents() Walaupun Akses Penyemak Imbas
Apabila cuba mendapatkan semula kandungan web menggunakan fungsi file_get_contents() PHP, anda mungkin menghadapi Ralat Pelayan Dalaman 500. Walau bagaimanapun, mengakses tapak yang sama dalam pelayar web mungkin tidak menimbulkan masalah. Ketidakkonsistenan ini menyerlahkan kemungkinan masalah.
Untuk menyelesaikan masalah ini, anda menggunakan cURL sebagai pendekatan alternatif. Walau bagaimanapun, menggunakan cURL nampaknya menghasilkan mesej ralat yang berbeza: "Rujukan objek tidak ditetapkan kepada contoh objek."
Penyelesaian yang mungkin untuk masalah ini ialah menggunakan penyelesaian berikut:
<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>
Penyelesaian ini bertujuan untuk mensimulasikan permintaan ejen penyemak imbas dengan menetapkan pengepala Ejen Pengguna tersuai. Ini boleh menyelesaikan isu jika pelayan web membezakan antara permintaan penyemak imbas dan skrip.
Jika penyelesaian ini gagal, kemungkinan konfigurasi pelayan anda tidak memberikan anda akses kepada sumber HTTPS. Anda mungkin perlu melaraskan tetapan pelayan anda dengan sewajarnya untuk mendayakan permintaan HTTPS.
Atas ialah kandungan terperinci Mengapa PHP Saya `file_get_contents()` Mengembalikan Ralat 500 Semasa Tapak Web Dimuatkan dalam Penyemak Imbas Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!