ဆောင်းပါးလမ်းညွှန်
အမြောက်အများ网络营销သင်ယူမှုအသစ်WordPress ဝဘ်ဆိုဒ်PHP စာမျက်နှာသည် အချိန်အတော်ကြာ ဗလာဖြစ်နေသည်။
ထို့နောက် အောက်ပါ error message ပေါ်လာသည် ။
Fatal error: Maximum execution time of 30 seconds exceeded in ......
ရိုးရိုးရှင်းရှင်းပြောရရင် PHP လုပ်ဆောင်ချိန်ဟာ 30 စက္ကန့်ကန့်သတ်ချက်ကို ကျော်လွန်သွားတယ်လို့ ဆိုလိုပါတယ်။
Chen Weiliangဤအမှားသည် ယခင်ကလည်း ကြုံတွေ့ခဲ့ဖူးပြီး ဤဆောင်းပါးသည် အမှားကိုင်တွယ်နည်းကို အကျဉ်းချုပ်ဖော်ပြပါသည်။
အမှားကိုဘယ်လိုပြင်ရမလဲ။
အခြေခံအားဖြင့်၊ ဤအမှားကို ကိုင်တွယ်ရန် နည်းလမ်း 3 ခုရှိသည်။
- php configuration file php.ini ဖိုင်ကို ပြင်ဆင်ပါ။
- ini_set() လုပ်ဆောင်ချက်ကို အသုံးပြုခြင်း။
- 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 ကို ပိတ်နိုင်သည်-
- In
php.ini
Safe_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 ၏ တယ်လီဂရမ်ချန်နယ်မှ ကြိုဆိုပါသည်။
📚 ဤလမ်းညွှန်တွင် တန်ဖိုးကြီးကြီးမားမားပါရှိသည်၊ 🌟ဒါက ရှားပါးအခွင့်အရေးပါ၊ လက်လွတ်မခံပါနဲ့။ ⏰⌛💨
ကြိုက်ရင် Share ပြီး Like လုပ်ပါ။
သင်၏မျှဝေခြင်းနှင့် လိုက်ခ်များသည် ကျွန်ုပ်တို့၏ စဉ်ဆက်မပြတ်လှုံ့ဆော်မှုဖြစ်သည်။