လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> [set_tetime_limit function ကို၏အခြေခံနှင့်လက်တွေ့ကျသောဥပမာများ၏အခြေခံအဆလုပ်ငန်းကိုမိတ်ဆက်ခြင်း

[set_tetime_limit function ကို၏အခြေခံနှင့်လက်တွေ့ကျသောဥပမာများ၏အခြေခံအဆလုပ်ငန်းကိုမိတ်ဆက်ခြင်း

gitbox 2025-06-15

PHP ပရိုဂရမ်တွင် script လုပ်ဆောင်မှုအချိန်အကန့်အသတ်ရှိသည်။ ပုံမှန်အားဖြင့် script လုပ်ဆောင်မှုသည်ယေဘုယျအားဖြင့်စက္ကန့် 30 ဖြစ်သည်။ အကယ်. scription အချိန်သည်ကန့်သတ်ချက်ထက်ကျော်လွန်ပါက PHP သည် script ကိုအလိုအလျောက်အဆုံးသတ်ပြီးအချိန်ကုန်အမှားကိုပစ်ချလိမ့်မည်။ ဤသို့ရှောင်ရှားရန် PHP သည် set_time_limit () function ကိုထောက်ပံ့ပေးသည်။


1 ။ set_time_limim ဆိုတာဘာလဲ။

Set_To_Limit () သည် PHP တွင် built-in function တစ်ခုဖြစ်သည်။ ဒီ function ကိုခေါ်ပြီးနောက် PHP သည် timer ကိုပြန်လည်သတ်မှတ်ပြီးခေါ်ဆိုမှုမှပြန်လည်အချိန်ကိုပြန်လည်သတ်မှတ်သည်။

function ကိုအဓိပ္ပါယ်ဖွင့်ဆိုချက်ကိုအောက်ပါအတိုင်းဖြစ်သည် -

 set_time_limit(int $seconds): bool
  • $ စက္ကန့်စက္ကန့် parameter သည် script ကို run ရန်စက္ကန့်အရေအတွက်ကိုညွှန်ပြသည်။ 0 မှ 0 သို့ 0 င်ပါက၎င်းသည်အကန့်အသတ်မရှိဟုဆိုလိုသည်။

  • Return Value သည် Boolean အမျိုးအစားဖြစ်ပြီးအောင်မြင်သောအခါအောင်မြင်မှုနှင့်မှားယွင်းသောအခါ မှား သည်


2 ။ set_time_limit ၏အခန်းကဏ် and နှင့်ကြိုတင်ကာကွယ်မှုများ

  • Timer Timer : ခေါ်ဆိုမှုတစ်ခုစီသည်ဇာတ်ညွှန်း၏အများဆုံးကွပ်မျက်ချိန်အချိန်ကိုပြန်လည်သတ်မှတ်သည်။

  • လုံခြုံစိတ်ချရသော mode တွင်သာထိရောက်စွာ - PHP သည် Safe Mode (Safe_Mode) တွင်အလုပ်လုပ်နေပါက Set_Te_Limit () သည်မမှန်ကန်ပါ။

  • CLI MODE - command line mode မှာအချိန်ကန့်သတ် ချက် မရှိဘူး,

  • Php.ini တွင် Maxecution_time : default အမြင့်ဆုံးအသေသတ်ခြင်းအချိန်သည်စက္ကန့် 30 ဖြစ်သည်


3 ။ လက်တွေ့ဥပမာခွဲခြမ်းစိတ်ဖြာခြင်း

Set_Time_Limit () ၏ဘုံအသုံးပြုမှုကိုပြသရန်အောက်ပါအတိုင်းအောက်ပါတို့သည်ဥပမာများစွာရှိသည်။

ဥပမာ 1 - Script Execution Time ကိုတိုးချဲ့ပါ

စက္ကန့် 60 စက္ကန့်ကြာသောအလုပ်ကိုကွပ်မျက်ရန်လိုအပ်သည့်အလုပ်တစ်ခုကိုအကောင်အထည်ဖော်ရန်လိုအပ်ကြောင်းယူဆရသော်လည်းစက္ကန့် 30 သည်စက္ကန့် 30 ကြာသည်။

 <?php
// အများဆုံးကွပ်မျက်အချိန်သတ်မှတ်ထား 90 စက်ဏန့်
set_time_limit(90);

echo "အချိန်ကုန်လွန်သောအလုပ်များကိုစတင်လုပ်ဆောင်ပါ...\n";

for ($i = 0; $i < 60; $i++) {
    sleep(1); // Simululation Time- စားသုံးစစ်ဆင်ရေး
    echo "ကွပ်မျက်ခံရ {$i} စက်ဏန့်\n";
}

echo "လုပ်ငန်းပြီးစီးခဲ့သည်。\n";
?>

ဤဥပမာတွင် Set_To_Limit (90) ကိုခေါ်ပြီးနောက် script သည်အမြင့်ဆုံးကွပ်မျက်မှု 90 စက္ကန့်အတွင်းအမြင့်ဆုံးကွပ်မျက်ရန်ခွင့်ပြုထားပြီးစက္ကန့် 30 တွင်ရပ်စဲလိမ့်မည်မဟုတ်ပါ။

ဥပမာ 2: ကန့်သတ်ကန့်သတ်

အချို့သောအလုပ်များသည်မသေချာမရေရာမှုအချိန်နှင့်အချိန်ကုန်ခြင်းဖြင့်ကန့်သတ်ထားခြင်းမလိုအပ်ပါ။

 <?php
// ကွပ်မျက်အချိန်ကန့်သတ်ချက်ဖျက်သိမ်းပါ
set_time_limit(0);

while (true) {
    // ဤတွင်စဉ်ဆက်မပြတ်ကွပ်မျက်ခံရဖို့လိုအပ်တဲ့ကုဒ်ဖြစ်ပါတယ်
    echo "အဆိုပါ script ကိုစဉ်ဆက်မပြတ်ပြေးနေသည်...\n";
    sleep(5);
}
?>

အလွန်အကျွံကွပ်မျက်အချိန်ကြောင့်ဇာတ်ညွှန်းကိုအဆုံးသတ်ရန်အတင်းအကျပ်ခိုင်းစေမည်မဟုတ်ပါ။


4 ။ curl တောင်းဆိုမှုနှင့်ပေါင်းစပ်အတွက်အချိန်တိုးချဲ့ဖို့အချိန်တိုးချဲ့

ဝေးလံခေါင်သီသော interface ကိုဝင်ရောက်ကြည့်ရှုသောအခါကွန်ယက်နှောင့်နှေးမှုကြောင့်တောင်းဆိုမှုအချိန်ကုန်ခြင်းဖြစ်နိုင်သည်။ တောင်းဆိုမှုကိုပြီးစီးနိုင်အောင်သေချာစေရန် Script Execution Time ကိုကျွန်ုပ်တို့တိုးချဲ့နိုင်သည်။

 <?php
// ဇာတ်ညွှန်း၏အများဆုံးကွပ်မျက်အချိန်တိုးချဲ့
set_time_limit(120);

$url = "https://gitbox.net/api/data";
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Curl error: ' . curl_error($ch);
} else {
    echo "တောင်းဆိုမှုရလဒ်:" . $response;
}

curl_close($ch);
?>

ဤနေရာတွင် https://gitbox.net/api/data သည်ဥပမာတွင်တောင်းဆိုမှုလိပ်စာဖြစ်သည်


5 ။ အကျဉ်းချုပ်

  • Set_To_Limit () သည် PHP scripts ၏အများဆုံးကွပ်မျက်သည့်အချိန်ကိုထိန်းချုပ်သောအရေးကြီးသော function တစ်ခုဖြစ်သည်။

  • အလုပ်ပြတ်တောက်မှုများကိုပြုလုပ်သောအချိန်ကိုပြုလုပ်သောအခါအလုပ်ပြတ်တောက်စေသော script connectouts များကိုရှောင်ရှားရန်ဤလုပ်ဆောင်မှုကိုကျိုးကြောင်းဆီလျော်စွာသုံးပါ။

  • server အရင်းအမြစ်များကိုရှောင်ရှားရန် scription သည် scription ကိုအကန့်အသတ်မရှိဟုသတိပြုပါ။

  • Network Requests နှင့် File products ကဲ့သို့သောအချိန်စားသုံးခြင်းလုပ်ငန်းများကိုပေါင်းစပ်သည့်အခါကွပ်မျက်ချိန်ကိုသင့်လျော်စွာသတ်မှတ်ရန်အကောင်းဆုံးအလေ့အကျင့်ဖြစ်သည်။

Set_Te_Limit () ကို အသုံးပြု. PHP scripts များကို အသုံးပြု. PHP script များကိုပိုမိုတည်ငြိမ်ပြီးထိရောက်စွာပြုလုပ်နိုင်သည်။