PHP taklif qilgan xatoni hal qiling Maksimal bajarish vaqti 30 soniyadan oshib ketdi

juda ko'pInternet-marketingyangi o'rganishWordPress veb-sayti, PHP sahifasi uzoq vaqt davomida bo'sh.

Keyin quyidagi xato xabari paydo bo'ladi:

Fatal error: Maximum execution time of 30 seconds exceeded in ......

Oddiy qilib aytganda, bu PHPni bajarish vaqti 30 soniya chegarasidan oshib ketganligini anglatadi.

Chen VeyliangBu xato avval ham uchragan va ushbu maqolada xatoni hal qilish usuli umumlashtiriladi.

Xatoni qanday tuzatish mumkin?

Asosan, bu xatoni hal qilishning 3 yo'li mavjud:

  1. php konfiguratsiya fayli php.ini faylini o'zgartiring
  2. ini_set() funksiyasidan foydalanish
  3. set_time_limit() funksiyasidan foydalanish

1) php konfiguratsiya fayli php.ini faylini o'zgartiring

php.ini faylini toping va uni ushbu faylda toping:

max_execution_time = 30 ;

Ushbu qatorda 30 raqamini kerakli qiymatga (sekundlarda) o'rnating.

Shuningdek, u to'g'ridan-to'g'ri o'zgartirilishi mumkin:

max_execution_time = 0; //无限制

E'tibor bering, o'zgartirishdan keyin qayta ishga tushirish kerakLinuxserver.

2) ini_set() funksiyasidan foydalaning

php.ini o'zgartira olmaydiganlar uchunyangi ommaviy axborot vositalariOdamlar maksimal bajarilish muddatini o'zgartirish uchun ini_set() funksiyasidan foydalanishlari mumkin.

Dasturning yuqori qismida quyidagi kodni qo'shing:

ini_set('max_execution_time','100');
  • Yuqoridagi sozlama 100 soniya, siz uni 0 ga ham o'rnatishingiz mumkin, ya'ni bajarilish vaqti bilan cheklanmaydi.

3) set_time_limit() funksiyasidan foydalaning

Dasturning yuqori qismida quyidagilarni qo'shing:

set_time_limit(100);
  • Bu maksimal bajarish vaqti 100 soniyaga o'rnatilganligini anglatadi.
  • Albatta, parametr 0 ga o'rnatilishi mumkin, ya'nicheksiz∞.

set_time_limit funksiyasi tavsifi:

void set_time_limit ( int $seconds )

Ushbu funktsiya skriptning ishlashiga ruxsat berilgan vaqtni (soniyalarda) belgilashdir.

  • Agar bu sozlamadan oshib ketsa, skript halokatli xatoni qaytaradi.
  • Standart 30 soniya, agar bu qiymat mavjud bo'lsa, u php.ini'dagi max_execution_time da belgilangan qiymatdir.
  • Ushbu funktsiya chaqirilganda, set_time_limit() vaqt tugash hisoblagichini noldan qayta ishga tushiradi.

Boshqacha qilib aytganda, agar kutish vaqti sukut bo'yicha 30 soniya bo'lsa va skript 25 soniya davomida ishlayotgan bo'lsa, qo'ng'iroq qilingset_time_limit(20), skript vaqt tugashidan oldin jami 45 soniya davomida ishlashi mumkin.

PHP xavfsiz rejimda ishlayotganida bu ishlamaydi.

Xavfsiz rejim o'chirilishi mumkin:

  • php.iniSafar_rejimini oʻchirib qoʻying.
  • yoki o'zgartirishphp.inivaqt chegarasi.

vaqt_chegarasi Misol

Xavfsiz rejim yoqilmagan bo'lsa, o'rnatuvchi 25 soniya davomida ishlaydi.

Masalan:

<?php
if(!ini_get('safe_mode')){
set_time_limit(25);
}

Umid qilamanki, Chen Veyliang blogi ( https://www.chenweiliang.com/ ) "PHP-da 30 soniyadan oshib ketgan maksimal bajarilish vaqti xatosini hal qilish" bilan bo'lishdi, bu siz uchun foydalidir.

Ushbu maqolaning havolasini baham ko'rish uchun xush kelibsiz:https://www.chenweiliang.com/cwl-1481.html

Eng so'nggi yangiliklardan xabardor bo'lish uchun Chen Veyliang blogining Telegram kanaliga xush kelibsiz!

🔔 Birinchi bo'lib kanalning yuqori katalogida qimmatli "ChatGPT Content Marketing AI vositasidan foydalanish bo'yicha qo'llanma"ni qo'lga kiriting! 🌟
📚 Ushbu qo'llanmada katta ahamiyatga ega, 🌟Bu kamdan-kam imkoniyat, uni qo'ldan boy bermang! ⏰⌛💨
Baham ko'ring va yoqsa like!
Sizning baham ko'rish va yoqtirishlaringiz bizning doimiy motivatsiyamizdir!

 

发表 评论

Sizning elektron pochta manzilingiz e'lon qilinmaydi. 必填 项 已 用 * Yorliq

tepaga aylantiring