Mengapakah `set_time_limit` dan `ini_set(\'max_execution_time\')` tidak berkesan pada pelayan jauh saya dengan mod selamat didayakan?

DDD
Lepaskan: 2024-10-31 09:45:02
asal
714 orang telah melayarinya

Why are `set_time_limit` and `ini_set('max_execution_time')` ineffective on my remote server with safe mode enabled?

Fungsi Had Masa PHP Tidak Berkesan pada Pelayan Jauh

Apabila menetapkan had masa menggunakan set_time_limit(50) atau ini_set('max_execution_time', 50) setempat, mendapatkan max_execution_time menghasilkan nilai yang diingini. Walau bagaimanapun, pada pelayan yang berbeza, ia kembali kepada nilai lalai (30 saat), menjadikan fungsi ini tidak berkesan.

Penjelasan

Isu timbul disebabkan oleh tetapan mod selamat pada pelayan jauh. Dalam mod selamat PHP, adalah tidak mungkin untuk mengubah suai tetapan max_execution_time menggunakan ini_set(). Sekatan ini juga digunakan untuk set_time_limit().

Penyelesaian

Untuk menyelesaikan isu ini, terdapat dua pilihan:

  1. Lumpuhkan Mod Selamat: Ini boleh dilakukan dengan mengubah suai konfigurasi pelayan. Walau bagaimanapun, ia biasanya tidak disyorkan kerana kebimbangan keselamatan.
  2. Ubah suai php.ini: Edit fail php.ini pada pelayan jauh dan tetapkan max_execution_time kepada nilai yang dikehendaki.

Sebab Sekatan Mod Selamat

Mod selamat diperkenalkan dalam PHP untuk meningkatkan keselamatan dengan mengehadkan tindakan tertentu yang boleh dilakukan oleh skrip. Mencegah skrip daripada berjalan selama-lamanya ialah salah satu daripada langkah keselamatan ini.

Nota: Manual PHP menyatakan dengan jelas bahawa set_time_limit() dan ini_set('max_execution_time', 50) tidak mempunyai kesan apabila selamat mod didayakan. Satu-satunya penyelesaian adalah untuk melumpuhkan mod selamat atau melaraskan had masa dalam fail php.ini.

Atas ialah kandungan terperinci Mengapakah `set_time_limit` dan `ini_set(\'max_execution_time\')` tidak berkesan pada pelayan jauh saya dengan mod selamat didayakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan