PHP ကိုသုံးသောအခါတစ်ခါတစ်ရံကျွန်ုပ်တို့သည် timezone_abbreviations_list () function ကိုကြုံတွေ့ရသည်။ ဤလုပ်ဆောင်မှု၏လုပ်ဆောင်ချက်သည်အချိန်ဇုန်အတိုကောက်နှင့်၎င်းတို့၏သက်ဆိုင်ရာအသေးစိတ်အချက်အလက်များပါ 0 င်သည့်ခင်းကျင်းမှုကိုပြန်လည်ပေးရန်ဖြစ်သည်။ ပုံမှန်အားဖြင့်ကျွန်ုပ်တို့သည်အချိန်နှင့်ဆက်နွယ်သောစစ်ဆင်ရေးများသို့မဟုတ် format နှင့် format dates များကိုကိုင်တွယ်ရန်ဤလုပ်ဆောင်မှုမှတစ်ဆင့်ဤလုပ်ဆောင်မှုမှတစ်ဆင့်အချိန်ဇုန်အတိုကောက်စာရင်းကိုရယူလိုကြသည်။ သို့သော်အချည်းနှီးသောခင်းကျင်းမှုကိုပြန်ပို့ခြင်းသည်အထူးသဖြင့်အချိန်ဇုန်လုပ်ငန်းများအတွက်ဤလုပ်ဆောင်မှုကိုမှီခိုနေရသောအခါအခက်အခဲများဖြစ်ပေါ်စေနိုင်သည်။ ထို့နောက်ဤဆောင်းပါးသည်ဤပြ problem နာအတွက်ဖြေရှင်းနည်းများစွာပေးလိမ့်မည်။
ပထမ ဦး စွာသင်၏ PHP ပတ်ဝန်းကျင်ကိုအချိန်ဇုန်နှင့်သက်ဆိုင်သော extension များအားလုံးနှင့်မှန်ကန်စွာပြုပြင်ရန်သေချာအောင်လုပ်ပါ။ အကယ်. သင်သည်ပုံမှန် php configuration ကိုအသုံးပြုနေပါက timezone_abbreviations_list () function သည်ပုံမှန်အားဖြင့် Timezone အချက်အလက်များကိုပြန်ပို့သင့်သည်။ အကယ်. သင်သည်အချည်းနှီးသောခင်းကျင်းမှုကိုသင်ပြန်ပို့ပါကသင်၏ PHP configuration သည်အချိန်ဇုန်နှင့်သက်ဆိုင်သည့်စာကြည့်တိုက်များပျောက်ဆုံးနေသည်။
ဖြေရှင်းချက် -
PHP တွင် ရက်စွဲ extension ကိုဖွင့်ထားခြင်းရှိမရှိစစ်ဆေးပါ။ PHP configuration file တွင်သင်အတည်ပြုနိုင်သည် ။ အောက်ပါကိုမှတ်ချက်မပေးကြောင်းသေချာပါစေ:
<span><span><span class="hljs-attr">extension</span></span><span>=php_date.dll </span><span><span class="hljs-comment">; Windows စံနစ်</span></span><span>
</span><span><span class="hljs-attr">extension</span></span><span>=calendar.so </span><span><span class="hljs-comment">; Linux စံနစ်</span></span><span>
</span></span>ပြုပြင်မွမ်းမံခြင်းအတွက်ဝက်ဘ်ဆာဗာကိုပြန်လည်စတင်ပါ။
ဗားရှင်းအသစ်ပြောင်းခြင်းအတွက် PHP ၏အချိန်ဇုန်နှင့်သက်ဆိုင်သောလုပ်ဆောင်ချက်များသည်ပြောင်းလဲနိုင်သည်။ သင်၏ PHP ဗားရှင်းသည်အသက်ကြီးလျှင်အချို့သောလုပ်ဆောင်ချက်များသည်ကောင်းမွန်စွာအလုပ်လုပ်နိုင်မည်မဟုတ်ပါ။ ထို့ကြောင့် PHP ၏နောက်ဆုံးပေါ်ဗားရှင်းကိုအသုံးပြုရန်သို့မဟုတ်အနည်းဆုံးအဆင့်မြှင့်တင်ရန်နှင့်နောက်ဆုံးပေါ်ဇုန်စာကြည့်တိုက်ကိုထောက်ပံ့ရန်အနည်းဆုံးအဆင့်မြှင့်တင်ရန်အကြံပြုသည်။
ဖြေရှင်းချက် -
လက်ရှိ PHP ဗားရှင်းကိုစစ်ဆေးရန်အောက်ပါ command ကို run ပါ။
<span><span>php -v
</span></span>PHP ဗားရှင်းသည်အလွန်နိမ့်လွန်းပါကမူဗားရှင်းအသစ်သို့အဆင့်မြှင့်ပါ။ ဥပမာအားဖြင့် POST သို့မဟုတ် Yum ကဲ့သို့သော Package Management Tools များကိုအဆင့်မြှင့်တင်ရန် (သို့) နောက်ဆုံးပေါ် PHP ဗားရှင်းကိုဒေါင်းလုတ် လုပ်. install လုပ်ပါ။
အကယ်. timezone_abbreviations_list () အချည်းနှီးသောခင်းကျင်းမှုကိုပြန်ပို့ပါက configuration or version upgrade မှတဆင့် ဖြေရှင်း. မရပါ ။ Datetimezone သည် အချိန်ဇယားတစ်ခုတည်းကိုကိုင်တွယ်ရန်အဓိကအားဖြင့်အသုံးပြုသော်လည်းအခြားနည်းလမ်းများကိုပေါင်းစပ်ခြင်းဖြင့်အချိန်ကာလတစ်ခုရရှိရန်အချိန်ဇယားစာရင်းကိုရရှိနိုင်သည်။
နမူနာကုဒ်:
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$timezone_identifiers</span></span><span> = </span><span><span class="hljs-title class_">DateTimeZone</span></span><span>::</span><span><span class="hljs-title function_ invoke__">listIdentifiers</span></span><span>();
</span><span><span class="hljs-variable">$abbreviations</span></span><span> = [];
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$timezone_identifiers</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$timezone</span></span><span>) {
</span><span><span class="hljs-variable">$dtz</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">DateTimeZone</span></span><span>(</span><span><span class="hljs-variable">$timezone</span></span><span>);
</span><span><span class="hljs-variable">$transitions</span></span><span> = </span><span><span class="hljs-variable">$dtz</span></span><span>-></span><span><span class="hljs-title function_ invoke__">getTransitions</span></span><span>();
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$transitions</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$transition</span></span><span>) {
</span><span><span class="hljs-variable">$abbreviations</span></span><span>[] = </span><span><span class="hljs-variable">$transition</span></span><span>[</span><span><span class="hljs-string">'abbr'</span></span><span>];
}
}
</span><span><span class="hljs-variable">$abbreviations</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_unique</span></span><span>(</span><span><span class="hljs-variable">$abbreviations</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$abbreviations</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>ဒီဥပမာမှာ Datetimezone :: listidesifiers မှတဆင့်အချိန်ဇယားသတ်မှတ်ချက်အားလုံးကိုကျွန်ုပ်တို့ရရှိပြီးအချိန်ဇုန်၏အတိုကောက် ကို ထုတ်ယူခြင်း, နောက်ဆုံးတွင် array_unique () ကို အသုံးပြုရန်နှင့်အချိန်ဇုန်အတိအကျကို deputplicate လုပ်ရန်။
အထက်ဖော်ပြပါနည်းလမ်းများအဘယ်သူမျှမပြ the နာကိုဖြေရှင်းနိုင်လျှင်သို့မဟုတ်သင်သတ်သတ်မှတ်မှတ်အချိန်ဇုန်အတိုကောက်လိုအပ်ပါတယ်လျှင်, အချိန်ဇုန်အတိုကောက်စာရင်းကိုစိတ်ကြိုက်ပြုပြင်ခြင်းအားဖြင့်သင်နှင့်အတူကိုင်တွယ်နိုင်ပါတယ်။ ဤချဉ်းကပ်နည်းသည်နည်းနည်းလေးဒုက်ခဖြစ်သော်လည်းအချို့ကိစ္စများတွင်အချိန်ဇုန်အတိုကောက်ကိုမရရှိနိုင်သည့်ပြ problem နာကိုကျော်လွှားရန်ကူညီနိုင်သည်။
နမူနာကုဒ်:
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$timezone_abbreviations</span></span><span> = [
</span><span><span class="hljs-string">'UTC'</span></span><span> => </span><span><span class="hljs-string">'Coordinated Universal Time'</span></span><span>,
</span><span><span class="hljs-string">'EST'</span></span><span> => </span><span><span class="hljs-string">'Eastern Standard Time'</span></span><span>,
</span><span><span class="hljs-string">'PST'</span></span><span> => </span><span><span class="hljs-string">'Pacific Standard Time'</span></span><span>,
</span><span><span class="hljs-string">'CST'</span></span><span> => </span><span><span class="hljs-string">'Central Standard Time'</span></span><span>,
</span><span><span class="hljs-comment">// အခြားအချိန်ဇုန်အတိုကောက်</span></span><span>
];
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$timezone_abbreviations</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>ဤနည်းအားဖြင့်သင်သည်အလိုအလျောက်မွမ်းမံနိုင်သည့်စွမ်းရည်မရှိသောကြောင့်ဘုံအချိန်ဇုန်အတိုကောက်နှင့်ဖော်ပြချက်များပါ 0 င်သောခင်းကျင်းမှုကိုကိုယ်တိုင်ပြုလုပ်နိုင်သည်။ သို့သော်အချို့ကိစ္စများတွင်လုံလောက်သည်။
တစ်ခါတစ်ရံပြနာသည်အချိန်ကာလဇုန်ဒေတာဖိုင်နှင့်ဆက်စပ်နိုင်သည်။ timezone_abbreviations_list () သည် အချည်းနှီးသောခင်းကျင်းမှုတစ်ခုသို့ပြန်ပို့နိုင်ကြောင်းတွေ့ရှိပါက၎င်းသည်မဖြေရှင်းနိုင်သောကြောင့်၎င်းကိုမဖြေရှင်းနိုင်ပါ။ PHP မှအသုံးပြုသောအချိန်ဇုန်ဒေတာဘေ့စ်သည်များသောအားဖြင့် Iana Time Zimage Database မှလာသည်။
ဖြေရှင်းချက် -
သင်၏ဆာဗာတွင်နောက်ဆုံးပေါ်ဇုန်ဇုန်ဒေတာဖိုင်များကိုမှန်ကန်စွာတပ်ဆင်ထားကြောင်းစစ်ဆေးပါ။
ဤအချက်အလက်သည် operating system ၏အချိန်ဇုန် packets များကိုအသစ်ပြောင်းခြင်းအားဖြင့်ဤအချက်အလက်များသည်နောက်ဆုံးပေါ်ဖြစ်သည်ကိုသင်သေချာစေနိုင်သည်။ ဥပမာအားဖြင့်, Linux System များတွင်အချိန်ဇုန်အချက်အလက်များကိုမွမ်းမံရန်အောက်ပါ command ကို run နိုင်သည်။
<span><span>sudo apt-get install tzdata
</span></span>ပြ the နာကိုသင်ကြုံတွေ့ရသောအခါ timeszone_abbreviations_list () အချည်းနှီးသောခင်းကျင်းမှုကိုပြန်လည်ရယူခြင်း , PHP configuration ကိုစစ်ဆေးခြင်း, PHP ပုံစံကိုစစ်ဆေးခြင်း, ဤနည်းလမ်းများမှတစ်ဆင့်သင်၏လျှောက်လွှာသည်အချိန်ဇုန်နှင့်သက်ဆိုင်သောလုပ်ဆောင်ချက်များကိုမှန်ကန်စွာကိုင်တွယ်နိုင်ပြီးပျောက်ဆုံးနေသောအချိန်ဇုန်ဒေတာကြောင့်အမှားအယွင်းများကိုသင်မှန်ကန်စွာကိုင်တွယ်နိုင်ကြောင်းသေချာစေနိုင်သည်။ ဤဆောင်းပါးတွင်ဖော်ပြထားသောဖြေရှင်းနည်းများသည်ပြ problem နာကိုချောချောမွေ့မွေ့ဖြေရှင်းနိုင်ရန်ကူညီနိုင်သည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။