Pertimbangan Tamat Masa untuk file_get_contents()
Apabila menggunakan file_get_contents() untuk mengambil data daripada pautan jauh, adalah penting untuk mempertimbangkan implikasi tamat masanya . Secara lalai, file_get_contents() mewarisi tempoh tamat masanya daripada tetapan PHP ini default_socket_timeout, yang lalai kepada 60 saat. Jika operasi mendapatkan semula melebihi had ini, permintaan akan tamat masa lebih awal.
Mengatasi Tamat Masa Lalai
Untuk mengubah suai tetapan tamat masa lalai, terdapat dua pendekatan utama:
Pengubahsuaian Tetapan Ini: Gunakan ini_set() untuk melaraskan nilai default_socket_timeout. Contohnya:
ini_set('default_socket_timeout', 900); // 900 Seconds = 15 Minutes
Konfigurasi Konteks Strim: Tentukan konteks strim tersuai menggunakan stream_context_create() dan tentukan tamat masa yang diingini sebagai pilihan konteks HTTP. Berikut ialah contoh:
$ctx = stream_context_create(array('http' => array('timeout' => 1200))); //1200 Seconds is 20 Minutes echo file_get_contents('http://example.com/', false, $ctx);
Nota: Ingat bahawa tempoh tamat masa digunakan untuk keseluruhan proses mendapatkan fail, termasuk kependaman rangkaian dan masa pemprosesan pelayan. Oleh itu, adalah penting untuk menetapkan nilai tamat masa yang sesuai yang menyumbang kepada kemungkinan kelewatan.
Atas ialah kandungan terperinci Bagaimanakah saya boleh menguruskan isu tamat masa apabila menggunakan file_get_contents()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!