Rumah >pembangunan bahagian belakang >tutorial php >Mengapa PHP file_get_contents() saya Gagal Memuatkan URL Luaran?

Mengapa PHP file_get_contents() saya Gagal Memuatkan URL Luaran?

Susan Sarandon
Susan Sarandonasal
2024-12-31 20:43:17327semak imbas

Why is my PHP file_get_contents() Failing to Load External URLs?

Cara Mendayakan Pemuatan URL Luaran untuk PHP file_get_contents()

Fungsi PHP file_get_contents() membolehkan kami mendapatkan semula kandungan fail atau URL. Walau bagaimanapun, kadangkala ia mungkin gagal untuk mengambil URL luaran, mengakibatkan respons kosong. Isu ini biasanya timbul disebabkan tetapan konfigurasi PHP.ini tertentu.

Menyiasat Konfigurasi PHP.ini

Untuk mengenal pasti konfigurasi yang bermasalah, anda boleh menyemak tetapan berikut:

  1. allow_url_fopen: Tetapan ini mengawal sama ada PHP dibenarkan untuk mengakses URL luaran. Sahkan bahawa ia ditetapkan kepada "Hidup."
  2. file_get_contents.allow_http: Tetapan ini mengehadkan file_get_contents() untuk mengakses URL HTTP sahaja. Pastikan ia ditetapkan kepada "Hidup."
  3. file_get_contents.readfile_disable: Tetapan ini melumpuhkan keupayaan file_get_contents() untuk mengakses fail setempat pada pelayan. Jika anda berhasrat untuk mengakses kedua-dua URL tempatan dan luaran, tetapkannya kepada "Mati."

Kaedah Alternatif untuk Memuatkan URL Luaran

Jika melaraskan PHP. ini tidak menyelesaikan isu, anda boleh mempertimbangkan untuk menggunakan kaedah alternatif untuk memuatkan URL luaran PHP:

  1. cURL: CURL ialah perpustakaan yang menyediakan cara yang lebih mantap untuk menghantar dan mendapatkan data daripada URL. Coretan di bawah menunjukkan cara menggunakan cURL untuk mengambil kandungan URL luaran:
function get_content($URL) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_URL, $URL);
    $data = curl_exec($ch);
    curl_close($ch);
    return $data;
}

echo get_content('http://example.com');

Atas ialah kandungan terperinci Mengapa PHP file_get_contents() saya Gagal Memuatkan URL Luaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn