ini_set() dan set_time_limit() Abaikan Perubahan Konfigurasi pada Pelayan Jauh
Apabila menggunakan ini_set('max_execution_time', 50) atau set_time_limit( 50) secara tempatan, fungsi ini_get('max_execution_time') mengembalikan 50 seperti yang dijangkakan. Walau bagaimanapun, pada pelayan yang berbeza, ia menggemakan lalai 30, mengabaikan tetapan yang ditentukan.
Sebab:
Ketidakupayaan untuk menukar konfigurasi max_execution_time dengan ini_set() dan set_time_limit() berpunca daripada kehadiran mod selamat. Mod selamat ialah konfigurasi PHP yang mengehadkan operasi tertentu, termasuk mengubah suai tetapan masa jalan seperti max_execution_time melalui ini_set().
Penyelesaian:
Untuk memintas isu ini, anda mempunyai dua pilihan:
Nota Tambahan:
Sekatan yang sama dikenakan pada fungsi set_time_limit(), seperti yang ditunjukkan dalam manual PHP:
"Fungsi ini tidak mempunyai kesan apabila PHP berjalan dalam mod selamat. Tiada penyelesaian selain mematikan mod selamat atau menukar had masa dalam php.ini."
Atas ialah kandungan terperinci Mengapa ini_set(\'max_execution_time\') dan set_time_limit() gagal menukar konfigurasi pada pelayan jauh?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!