လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Memory_Get_et_et_usage နှင့် Ini_set တို့ပေါင်းစပ်ခြင်းအတွက်ပိုမိုသင့်လျော်သော PHP မှတ်ဉာဏ်ကန့်သတ်ချက်များမည်သို့သတ်မှတ်ရမည်နည်း။

Memory_Get_et_et_usage နှင့် Ini_set တို့ပေါင်းစပ်ခြင်းအတွက်ပိုမိုသင့်လျော်သော PHP မှတ်ဉာဏ်ကန့်သတ်ချက်များမည်သို့သတ်မှတ်ရမည်နည်း။

gitbox 2025-06-30

Memory အသုံးပြုမှုကိုပိုမိုကောင်းမွန်စေမှုသည် PHP applications များကိုတီထွင်သောအခါအမြဲတမ်းအရေးပါသောခေါင်းစဉ်တစ်ခုဖြစ်ခဲ့သည်။ ကျိုးကြောင်းဆီလျော်သောမှတ်ဉာဏ်စီမံခန့်ခွဲမှုသည်မှတ်ဉာဏ်အမှားများမှရှောင်ရှားနိုင်ရုံသာမကလျှောက်လွှာစွမ်းဆောင်ရည်ကိုလည်းတိုးတက်စေသည်။ Memory_Get_et_usage () နှင့် ini_set) ကိုအသုံးပြုသော Memory အသုံးပြုမှုကိုစောင့်ကြည့်လေ့လာရန်နှင့်ချိန်ညှိရန် PHP သည်လုပ်ငန်းဆောင်တာများစွာကိုထောက်ပံ့ပေးသည်။ ဤဆောင်းပါးသည်ဤလုပ်ဆောင်မှုနှစ်ခုကိုပိုမိုကောင်းမွန်သည့် PHP Memory ကန့်သတ်ချက်များကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်ရန်မည်သို့ပေါင်းစပ်မည်နည်း။

1 ။ memory_get_usage () function ကိုမိတ်ဆက်

Memory_Get_Unage () သည် PHP script ၏မှတ်ဉာဏ်အသုံးပြုမှုကိုရယူရန် PHP မှပေးသောမှတ်ဉာဏ်စီမံခန့်ခွဲမှုလုပ်ဆောင်ချက်ဖြစ်သည်။ လက်ရှိ script ကို bytes တွင်အသုံးပြုသောမှတ်ဉာဏ်အရွယ်အစားကိုပြန်လည်ရောက်ရှိစေသည်။ အကယ်. မထင်မှတ်သောမှတ်ဥာဏ်စောင့်ကြည့်လေ့လာမှုပိုမိုလိုအပ်ပါကဤ function ကို dynamically memory အသုံးပြုမှုကိုကြည့်ရှုနိုင်သည်။

 <span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">memory_get_usage</span></span><span>();  </span><span><span class="hljs-comment">// output လက်ရှိမှတ်ဉာဏ်အသုံးပြုမှု(ဒရယ်)</span></span><span>
</span></span>

ထို့အပြင် Memory_Get_get_usage () သည် PHP Internent Buffer များ၏မှတ်ဉာဏ်အသုံးပြုမှုများပါ 0 င်ခြင်းရှိမရှိကိုဖော်ပြရန်ရွေးချယ်နိုင်သောအချက်များကိုလည်းလက်ခံနိုင်သည်။

 <span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">memory_get_usage</span></span><span>(</span><span><span class="hljs-literal">true</span></span><span>);  </span><span><span class="hljs-comment">// ပြည်တွင်းရေးကြားခံများ၏မှတ်ဉာဏ်အသုံးပြုမှုအပါအဝငျ</span></span><span>
</span></span>

ရှုပ်ထွေးသောစစ်ဆင်ရေးများပြုလုပ်ရာတွင် Memory Settings ကိုချိန်ညှိခြင်းနှင့်မှတ်ဥာဏ်အလွန်အကျွံသုံးစွဲမှုကြောင့်မှတ်ဥာဏ်ဆက်တင်များကိုရှောင်ရှားရန်နှင့် developer များက developer များမှတ်ဉာဏ်သုံးစွဲမှုကိုနားလည်ရန်နှင့် script crash များကိုရှောင်ရှားရန်ကူညီနိုင်သည်။

2 ။ Ini_set () function ကိုမိတ်ဆက်

Ini_set () သည် PHP မှအသုံးပြုသော function တစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်မှုသည်သင့်အား Runtime တွင်မှတ်ဉာဏ်ကန့်သတ်ချက်များအပါအ 0 င် PPP configuration ပစ္စည်းများပြုပြင်ရန်ခွင့်ပြုသည်။ PHPM မှတ်ဉာဏ်ကန့်သတ်ချက်များအတွက် memory_limit configuration item ကိုများသောအားဖြင့် php script ကိုလောင်နိုင်သည့်အများဆုံးမှတ်ဉာဏ်အရွယ်ကိုထိန်းချုပ်ထားသည်။

 <span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">'memory_limit'</span></span><span>, </span><span><span class="hljs-string">'256M'</span></span><span>);  </span><span><span class="hljs-comment">// မှတ်ဉာဏ်ကန့်သတ်ထားပါ 256MB</span></span><span>
</span></span>

အချို့ဖြစ်ရပ်များတွင်ပုံမှန်မှတ်ဉာဏ်ကန့်သတ်ချက်သည်များစွာသောအချက်အလက်များကိုကိုင်တွယ်ရန်မလုံလောက်ပါ။ ဤအချိန်တွင်သင်သည် ini_set () ကို dynamally လိုအပ်ချက်များနှင့်ကိုက်ညီရန် Memory Limit ကိုပြောင်းလဲနိုင်သည်။

3. မှတ်ဉာဏ်ကန့်သတ်ချက်ကို memory_Get_susage () နှင့် ini_set () နှင့်ပေါင်းစပ်ထည့်သွင်းပါ။

Memory_get_eget_usage () နှင့် ini_set) ကိုပေါင်းစပ်ပြီး developer များသည် PHP script လည်ပတ်နေစဉ်တွင် Memory အသုံးပြုမှုကို ပြောင်းလဲ. လိုအပ်သလိုအချိန်မှန်တွင်မှတ်ဉာဏ်ကန့်သတ်ချက်များကိုချိန်ညှိနိုင်သည်။ Memory ကိုဘယ်လိုစောင့်ကြည့်ပြီး memory ကန့်သတ်ချက်တွေကိုဘယ်လိုထိန်းညှိနိုင်မလဲဆိုတာပြတဲ့ရိုးရှင်းတဲ့ဥပမာတစ်ခုပါ။

 <span><span><span class="hljs-comment">// လက်ရှိမှတ်ဉာဏ်အသုံးပြုမှုကိုရယူပါ</span></span><span>
</span><span><span class="hljs-variable">$currentMemoryUsage</span></span><span> = </span><span><span class="hljs-title function_ invoke__">memory_get_usage</span></span><span>(</span><span><span class="hljs-literal">true</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"လက်ရှိမှတ်ဉာဏ်အသုံးပြုမှု: "</span></span><span> . </span><span><span class="hljs-variable">$currentMemoryUsage</span></span><span> . </span><span><span class="hljs-string">" ဒရယ်\n"</span></span><span>;

</span><span><span class="hljs-comment">// ကန ဦး မှတ်ဉာဏ်ကန့်သတ်ထားပါ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">'memory_limit'</span></span><span>, </span><span><span class="hljs-string">'128M'</span></span><span>);

</span><span><span class="hljs-comment">// မှတ်ဉာဏ်ကန့်သတ်ချက်နှင့်နီးသည်ကိုစစ်ဆေးပါ,အနီးကပ်လျှင်, မှတ်ဉာဏ်ကန့်သတ်တိုးမြှင့်</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$currentMemoryUsage</span></span><span> &gt; </span><span><span class="hljs-number">100</span></span><span> * </span><span><span class="hljs-number">1024</span></span><span> * </span><span><span class="hljs-number">1024</span></span><span>) {  </span><span><span class="hljs-comment">// လက်ရှိမှတ်ဉာဏ်အသုံးပြုမှုထက်ကျော်လွန်လျှင် 100MB</span></span><span>
    </span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">'memory_limit'</span></span><span>, </span><span><span class="hljs-string">'256M'</span></span><span>);  </span><span><span class="hljs-comment">// မှတ်ဉာဏ်ကန့်သတ်တိုးမြှင့် 256MB</span></span><span>
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"မှတ်ဉာဏ်ကန့်သတ်ချက်ကိုချိန်ညှိထားသည် 256MB\n"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"လက်ရှိမှတ်ဉာဏ်အသုံးပြုမှု合理,မှတ်ဉာဏ်ကန့်သတ်ချိန်ညှိရန်မလိုအပ်ပါ。\n"</span></span><span>;
}

</span><span><span class="hljs-comment">// မှတ်ဉာဏ်တွေအများကြီးလိုအပ်တဲ့စစ်ဆင်ရေးကိုလုပ်ဆောင်ပါ</span></span><span>
</span><span><span class="hljs-variable">$array</span></span><span> = </span><span><span class="hljs-title function_ invoke__">range</span></span><span>(</span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-number">1000000</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"စစ်ဆင်ရေးပြီးစီးခဲ့သည်。\n"</span></span><span>;
</span></span>

အပေါ်ကဥပမာမှာ script ကတော့လက်ရှိမှတ်ဉာဏ်အသုံးပြုမှုကိုပထမဆုံးစစ်ဆေးတယ်။ အကယ်. မှတ်ဉာဏ်အသုံးပြုမှုသည်ကြိုတင်သတ်မှတ်ထားသောကန့်သတ်ချက်နှင့်နီးသည်ဆိုပါကမှတ်ဉာဏ်ကန့်သတ်ချက်ကိုတိုးမြှင့်စေရန် Ini_set () ကို သုံးပါ။ ဤနည်းလမ်းသည်မှတ်ဥာဏ်ပြတ်တောက်သွားသည့်အစီအစဉ်ကိုဖယ်ရှားခြင်း,

4 ။ Memory_Get_eusage () နှင့် ini_set) ကို ဘယ်အချိန်မှာသုံးရမလဲ။

  1. အချက်အလက်အမြောက်အများကိုပြုပြင်သည့်အခါ - သင်၏လျှောက်လွှာသည်များစွာသောအချက်အလက်များကိုလုပ်ဆောင်ရန်လိုအပ်သည့်အခါမှတ်ဥာဏ်လိုအပ်ချက်များသိသိသာသာတိုးပွားလာနိုင်သည်။ ဤအချိန်တွင်မှတ်ဥာဏ်အသုံးပြုမှုဖြင့် မှတ်ဥာဏ်အသုံးပြုမှု () ကိုမှတ်ဉာဏ်အမှားအယွင်းများမလုံလောက်မှုကိုကာကွယ်ရန်အခြေအနေနှင့်အညီမှတ်ဉာဏ်ကန့်သတ်ချက်များကိုချိန်ညှိနိုင်သည်။

  2. ရှုပ်ထွေးသောကွန်ပျူတာလုပ်ငန်းများ - သင်၏ script သည်ကြီးမားသောကွန်ပျူတာများ (အကြီးစားပုံရိပ်ပြုပြင်ခြင်း, ကြီးမားသောဒေတာများကိုခွဲခြမ်းစိတ်ဖြာခြင်းစသဖြင့်) ပြုလုပ်ရန်လိုအပ်ပါကမှတ်ဉာဏ်သုံးစွဲမှုသည်ပိုမိုမြင့်မားလိမ့်မည်။ Memory Limit ကိုချိန်ညှိရန် Ini_set () ကိုသင့်လျော်စွာအသုံးပြုခြင်းသည်မှတ်ဉာဏ်ကန့်သတ်ချက်ကိုချိန်ညှိရန်ဤတွက်ချက်မှုလုပ်ငန်းများကိုချောချောမွေ့မွေ့ပြုလုပ်နိုင်သည်။

  3. optimized စွမ်းဆောင်ရည် - အချို့သောသတ်သတ်မှတ်မှတ်အခြေအနေများတွင် script များသည် memory များစွာကိုမှတ်ဉာဏ်များစွာစားသုံးသည်ကိုသင်သိပြီးသားဆိုလျှင်ဇာတ်ညွှန်း၏အစတွင်ကြီးမားသောမှတ်ဉာဏ်ကန့်သတ်ချက်ကိုသတ်မှတ်ခြင်းနှင့် overhead ကိုလျှော့ချနိုင်သည်။

5 ။ မှတ်စုဖို့အရာ

  • မှတ်ဉာဏ်ကန့်သတ်ချက်မကြာခဏပြုပြင်ခြင်းကိုရှောင်ကြဉ်ပါ။ Ini_set ကန့် သတ်ချက်များသည် memory ကန့်သတ်ချက်ကိုမှန်ကန်စွာပြုပြင်နိုင်သော်လည်းမှတ်ဥာဏ်အကန့်အသတ်များကိုမကြာခဏပြုပြင်ခြင်းသည်စွမ်းဆောင်ရည်အပေါ်အကျိုးသက်ရောက်နိုင်သည်။ ထို့ကြောင့်, ဤနည်းလမ်းကိုကွပ်မျက်ခံရတိုင်းမှတ်ဉာဏ်ပြုပြင်ခြင်းများကိုရှောင်ရှားရန်ကျိုးကြောင်းဆီလျော်စွာအသုံးပြုသင့်သည်။

  • ဆင်ခြင်တုံတရားရှိမှတ်ဉာဏ်လိုအပ်ချက်များကိုခန့်မှန်းပါ။ ဖွံ့ဖြိုးရေးအဆင့်တွင်လျှောက်လွှာ၏လိုအပ်ချက်များလိုအပ်ချက်များကိုကျိုးကြောင်းဆီလျော်စွာခန့်မှန်းထားသင့်သည်။ ကွဲပြားခြားနားသောအလုပ်လုပ်တဲ့ module တွေရဲ့မှတ်ဉာဏ်စားသုံးမှုကိုကြည့်ရှုရန် script_get_get_usage () မှတဆင့် script ကို debug လုပ်နိုင်တယ်, ပြီးတော့ script ရဲ့အစမှာသင့်တော်တဲ့မှတ်ဉာဏ်ကန့်သတ်ချက်ကိုချမှတ်နိုင်ပါတယ်။

  • Memory Memory အသုံးပြုမှုကိုစောင့်ကြည့်စစ်ဆေးပါ။ အကယ်. သင်သည် PHP scripts ကိုထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင်အသုံးပြုပါက PHP အမှားမှတ်တမ်းများကိုဖွင့်ရန်နှင့်မှတ်ဥာဏ်အသုံးပြုမှုကိုစောင့်ကြည့်ရန်အကြံပြုသည်။ မှတ်ဉာဏ်အသုံးပြုမှုသည်ကန့်သတ်ချက်နှင့်နီးစပ်သောအခါမှတ်ဉာဏ်ကိုကြိုတင်ပြင်ဆင်နိုင်သည်သို့မဟုတ်တိုးချဲ့နိုင်သည်။

နိဂုံးချုပ်အားဖြင့်

Memory_Get_exage () နှင့် ini_set) ကိုပေါင်းစပ်ပြီး developer များက PHP scripts သည်လိုအပ်သည့်အတိုင်းမှတ်ဉာဏ်ကန့်သတ်ချက်များကိုချိန်ညှိနေစဉ်တွင် Memory Procession ကိုအချိန်မှန်စောင့်ကြည့်နိုင်သည်။ ဤရွေ့ကားပြောင်းလဲနေသောညှိနှိုင်းမှုနည်းလမ်းသည်မှတ်ဥာဏ်လျှံသောအမှားများကိုထိရောက်စွာရှောင်ရှားနိုင်ပြီး program staber နှင့်ထိရောက်မှုကိုတိုးတက်စေသည်။ ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဆင်ခြင်တုံတရားဆိုင်ရာအသုံးပြုမှုဆိုင်ရာကန့်သတ်ချက်ကိုပြင်ဆင်ခြင်းသည် PHP scripts များကိုထိရောက်စွာလည်ပတ်နိုင်ရန်အတွက်သော့ချက်တစ်ခုဖြစ်သည်။