php က ခိုင်းစေသော အမှားကို ဖြေရှင်းရန် စက္ကန့် 30 ၏ အများဆုံး လုပ်ဆောင်ချိန်

အမြောက်အများ网络营销သင်ယူမှုအသစ်WordPress ဝဘ်ဆိုဒ်PHP စာမျက်နှာသည် အချိန်အတော်ကြာ ဗလာဖြစ်နေသည်။

ထို့နောက် အောက်ပါ error message ပေါ်လာသည် ။

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

ရိုးရိုးရှင်းရှင်းပြောရရင် PHP လုပ်ဆောင်ချိန်ဟာ 30 စက္ကန့်ကန့်သတ်ချက်ကို ကျော်လွန်သွားတယ်လို့ ဆိုလိုပါတယ်။

Chen Weiliangဤအမှားသည် ယခင်ကလည်း ကြုံတွေ့ခဲ့ဖူးပြီး ဤဆောင်းပါးသည် အမှားကိုင်တွယ်နည်းကို အကျဉ်းချုပ်ဖော်ပြပါသည်။

အမှားကိုဘယ်လိုပြင်ရမလဲ။

အခြေခံအားဖြင့်၊ ဤအမှားကို ကိုင်တွယ်ရန် နည်းလမ်း 3 ခုရှိသည်။

  1. php configuration file php.ini ဖိုင်ကို ပြင်ဆင်ပါ။
  2. ini_set() လုပ်ဆောင်ချက်ကို အသုံးပြုခြင်း။
  3. set_time_limit() လုပ်ဆောင်ချက်ကို အသုံးပြုပါ။

1) php configuration file php.ini ဖိုင်ကို ပြင်ဆင်ပါ။

php.ini ဖိုင်ကို ရှာပြီး ဤဖိုင်တွင် ရှာပါ-

max_execution_time = 30 ;

ဤစာကြောင်းတွင်၊ နံပါတ် 30 ကို လိုချင်သောတန်ဖိုး (စက္ကန့်အတွင်း) သတ်မှတ်ပါ။

၎င်းကို တိုက်ရိုက်မွမ်းမံနိုင်သည်-

max_execution_time = 0; //无限制

ပြုပြင်မွမ်းမံပြီးနောက် ပြန်လည်စတင်ရန် လိုအပ်ကြောင်း သတိပြုပါ။Linux ကိုဆာဗာ။

2) ini_set() လုပ်ဆောင်ချက်ကို အသုံးပြုပါ။

php.ini ကို ပြုပြင်မွမ်းမံနိုင်သူများအတွက်မီဒီယာအသစ်လူများသည် အများဆုံးလုပ်ဆောင်ချိန်ကန့်သတ်ချက်ကို ပြောင်းလဲရန် ini_set() လုပ်ဆောင်ချက်ကို အသုံးပြုနိုင်သည်။

ပရိုဂရမ်၏ထိပ်တွင် အောက်ပါကုဒ်ကို ထည့်ပါ။

ini_set('max_execution_time','100');
  • အထက်ဖော်ပြပါ ဆက်တင်သည် စက္ကန့် 100 ဖြစ်သည်၊ ၎င်းကို 0 ဟုလည်း သတ်မှတ်နိုင်သည်၊ ဆိုလိုသည်မှာ လုပ်ဆောင်ချိန် အကန့်အသတ်မရှိဟု ဆိုလိုသည်။

3) set_time_limit() လုပ်ဆောင်ချက်ကို အသုံးပြုပါ။

ပရိုဂရမ်၏ထိပ်တွင် ပေါင်းထည့်ပါ။

set_time_limit(100);
  • ဆိုလိုသည်မှာ အမြင့်ဆုံးလုပ်ဆောင်ချိန်ကို စက္ကန့် 100 ဟု သတ်မှတ်ထားသည်။
  • ဟုတ်ပါတယ်၊ parameter ကိုလည်း 0 လို့သတ်မှတ်နိုင်တယ်၊ ဆိုလိုတာကတော့အကန့်အသတ်မရှိ∞。

set_time_limit လုပ်ဆောင်ချက်၏ ဖော်ပြချက်-

void set_time_limit ( int $seconds )

ဤလုပ်ဆောင်ချက်သည် script ကိုလည်ပတ်ရန်ခွင့်ပြုသည့်အချိန် (စက္ကန့်အတွင်း) ကိုသတ်မှတ်ရန်ဖြစ်သည်။

  • ဤဆက်တင်ကို ကျော်လွန်သွားပါက၊ ဇာတ်ညွှန်းသည် ဆိုးရွားသော အမှားတစ်ခု ပြန်ပေါ်လာလိမ့်မည်။
  • ပုံသေသည် စက္ကန့် 30 ဖြစ်သည်၊ ဤတန်ဖိုးရှိနေပါက၊ ၎င်းသည် php.ini တွင် max_execution_time တွင်သတ်မှတ်ထားသောတန်ဖိုးဖြစ်သည်။
  • ဤလုပ်ဆောင်ချက်ကို ခေါ်သောအခါ၊ set_time_limit() သည် သုညမှ timeout counter ကို ပြန်လည်စတင်မည်ဖြစ်သည်။

တစ်နည်းဆိုရသော် အချိန်ကုန်ချိန်သည် ပုံသေ စက္ကန့် 30 သို့ သတ်မှတ်ပြီး script သည် 25 စက္ကန့်ကြာသောအခါ ဖုန်းခေါ်ဆိုပါ။set_time_limit(20)အချိန်မဆွဲမီ script သည် စုစုပေါင်း 45 စက္ကန့်ကြာအောင် လုပ်ဆောင်နိုင်သည်။

php သည် လုံခြုံသောမုဒ်တွင် အလုပ်လုပ်နေသောအခါ ၎င်းသည် အလုပ်မလုပ်ပါ။

Safe Mode ကို ပိတ်နိုင်သည်-

  • Inphp.iniSafe_mode တွင် ပိတ်ရန် သတ်မှတ်ပါ။
  • သို့မဟုတ် ပြောင်းလဲပါ။php.iniအချိန်ကန့်သတ်ချက်။

သတ်မှတ်_အချိန်_ကန့်သတ်ချက် ဥပမာ

Safe Mode ကို မဖွင့်ထားပါက တပ်ဆင်သူသည် 25 စက္ကန့်ကြာအောင် လုပ်ဆောင်သွားမည်ဖြစ်သည်။

ဥပမာ -

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

မျှော်လင့်ခြင်း Chen Weiliang ဘလော့ဂ် ( https://www.chenweiliang.com/ ) "PHP တွင် စက္ကန့် 30 ကျော်လွန်သွားသော အများဆုံး လုပ်ဆောင်ချက်၏ အမှားကို ဖြေရှင်းခြင်း" သည် သင့်အတွက် အထောက်အကူဖြစ်စေပါသည်။

ဤဆောင်းပါး၏ link ကိုမျှဝေရန်ကြိုဆိုပါတယ်:https://www.chenweiliang.com/cwl-1481.html

နောက်ဆုံးထွက်မွမ်းမံမှုများကို ရယူရန် Chen Weiliang ၏ တယ်လီဂရမ်ချန်နယ်မှ ကြိုဆိုပါသည်။

🔔 ချန်နယ်ထိပ်တန်းလမ်းညွှန်တွင် တန်ဖိုးရှိသော "ChatGPT အကြောင်းအရာစျေးကွက်ရှာဖွေရေး AI ကိရိယာအသုံးပြုမှုလမ်းညွှန်" ကို ပထမဆုံးရရှိသူဖြစ်လိုက်ပါ။ 🌟
📚 ဤလမ်းညွှန်တွင် တန်ဖိုးကြီးကြီးမားမားပါရှိသည်၊ 🌟ဒါက ရှားပါးအခွင့်အရေးပါ၊ လက်လွတ်မခံပါနဲ့။ ⏰⌛💨
ကြိုက်ရင် Share ပြီး Like လုပ်ပါ။
သင်၏မျှဝေခြင်းနှင့် လိုက်ခ်များသည် ကျွန်ုပ်တို့၏ စဉ်ဆက်မပြတ်လှုံ့ဆော်မှုဖြစ်သည်။

 

မှတ်ချက်များ

သင့်ရဲ့အီးမေးလ်လိပ်စာကိုထုတ်ဝေမည်မဟုတ် 用项已用用 * တံဆိပ်

အပေါ်မှလှိမ့်