လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> php cli mode တွင် header ၏အခန်းကဏ် and နှင့်ကန့်သတ်ချက်များ

php cli mode တွင် header ၏အခန်းကဏ် and နှင့်ကန့်သတ်ချက်များ

M66 2025-05-30

PHP ပရိုဂရမ်တွင် header () function သည် header () function သည် Php HTTP header အချက်အလက်များကိုပေးပို့ခြင်း, Cache Control etc ကိုစသည်တို့ကိုပေးပို့ရန်အသုံးပြုသောဖောက်သည်များသို့ပို့ဆောင်ရန်အသုံးပြုသောအလွန်အသုံးများသောကိရိယာတစ်ခုဖြစ်သည်။ သို့သော် PHP script ကို mode မှာအလုပ်လုပ်နိုင်သလား ဤဆောင်းပါးသည်သင့်အားအသေးစိတ်အဖြေပေးလိမ့်မည်။

Php CLI MODE ဆိုတာဘာလဲ။

ပထမ ဦး စွာ PHP CLI ပုံစံဆိုတာဘာလဲဆိုတာကိုနားလည်ဖို့လိုတယ်။ CLI (command line interface) သည် php scripts ကို command line မှတဆင့်တိုက်ရိုက်ထုတ်လွှင့်ခြင်း, များသောအားဖြင့်ကျွန်ုပ်တို့ရိုက်ထည့်ပါ

 php script.php

ဤကိစ္စတွင် PHP သည်ဝက်ဘ်စာမျက်နှာများကိုထုတ်လုပ်ရန်ကိရိယာတစ်ခုအနေဖြင့်မရှိတော့ပါ။

header () function ကို၏ function ကို

header ၏အဓိကလုပ်ဆောင်ချက် () function ၏အဓိကလုပ်ဆောင်ချက်မှာ HTTP header အချက်အလက်များကို client (browser) သို့ပို့ရန်ဖြစ်သည်။

 header('Location: https://m66.net/welcome');
exit;

ဤကုဒ်သည်သတ်မှတ်ထားသော URL သို့ redirect လုပ်ရန် browser ကိုပြောပြလိမ့်မည်။

သို့သော်မှတ်ချက် - header () သည်အမှန်တကယ်အကြောင်းအရာများကိုထုတ်လုပ်ခြင်းမဟုတ်ဘဲတုန့်ပြန်ခေါင်းစီးကိုပြုပြင်သည် ။ တစ်နည်းပြောရလျှင်၎င်း၏အခန်းကဏ် php သည် PHP နှင့် web server အကြား http protocol ပေါ်တွင်လုံးလုံးမူတည်သည်။

header header () ကို cli mode တွင်အသုံးပြုဆဲ?

တိုက်ရိုက်အဖြေ - အဲဒါကိုအသုံးမပြုနိုင်ဘူး, ဒါမှမဟုတ်အဲဒါကိုသုံးမယ်ဆိုရင်အဓိပ္ပာယ်မရှိဘူး

အကြောင်းပြချက်များမှာအောက်ပါအတိုင်းဖြစ်သည် -

  • CLI MODE တွင် PHP သည်ပုံမှန် output (stdout), HTTP protocol မပါဘဲ, HTTP protocol မပါဘဲ, header မရှိပါ။

  • Header () function သည် SAPI (ဆာဗာ API) ရှိပတ်ဝန်းကျင်တွင်ပတ် 0 န်းကျင်တွင်လည်ပတ်နေသလား သို့ဆိုလျှင်၎င်းသည်ခေါ်ဆိုသည့်အခါ၎င်းသည် http Header ကိုထုတ်လုပ်လိမ့်မည်မဟုတ်သော်လည်းအမှားတစ်ခုကိုသတင်းပို့မည်မဟုတ်ပါ,

ဥပမာအားဖြင့်အောက်ပါကုဒ်ကို run ပါ။

 <?php
header('Content-Type: application/json');
echo json_encode(['status' => 'ok']);

ဝက်ဘ်ပတ်ဝန်းကျင်တွင် browser သည် အကြောင်းအရာအမျိုးအစား header ကိုလက်ခံပြီး၎င်းကို JSON အဖြစ်အသိအမှတ်ပြုသည်။ ဒါပေမယ့် CLI အောက်မှာ run:

 php script.php

output ကိုသာတွေ့လိမ့်မည်။

 {"status":"ok"}

ဘာဖြစ်လို့လဲဆိုတော့ terminal သည် HTTP ခေါင်းစီးများကိုလုံးဝနားမလည်သောသို့မဟုတ်ကိုင်တွယ်ခြင်းမရှိပါ။

CLI mode တွင်ကန့်သတ်ချက်များနှင့်အကြံပြုချက်များ

အကျဉ်းချုပ်:
? CLI အောက်ရှိ Header () သို့ခေါ်ဆိုမှုသည်အမှားတစ်ခုအားသတင်းပို့လိမ့်မည်မဟုတ်ပါ, သို့သော်၎င်းသည်မမှန်ကန်သောစစ်ဆင်ရေးနှင့်ညီမျှသည်။
? HTTP headers headers များကိုမပို့ပါ။ အကြောင်းမှာ CLI တွင် HTTP layer မရှိပါ။
? terminal သို့ output ကို output လုပ်ရန် echo , print_r နှင့်အခြားလုပ်ဆောင်မှုများကိုဆက်လက်အသုံးပြုနိုင်သည်။

အကယ် . သင်သည် header ကို ခေါ်ဆိုပါက CLI scripts ရေးသားသည့်အခါ၎င်းကိုအကြံပြုသည်။

  • Code သည် 0 က်ဘ်နှင့် CLI နှစ်မျိုးလုံးကို 0 င်ရောက်ခြင်းရှိမရှိအတည်ပြုပါ။ သို့ဆိုလျှင် SAPI ထောက်လှမ်းမှုကိုထည့်ရန်အကောင်းဆုံးဖြစ်သည်။