လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> [PHP ၏ putenv function ကိုအသုံးပြုပြီးပတ်ဝန်းကျင် variable တွေကိုမှန်ကန်စွာဖြေရှင်းရန်နှင့်စီမံခန့်ခွဲရန်မည်သို့အသုံးပြုရမည်နည်း။ အဆင့်များအသေးစိတ်ရှင်းလင်းချက်]

[PHP ၏ putenv function ကိုအသုံးပြုပြီးပတ်ဝန်းကျင် variable တွေကိုမှန်ကန်စွာဖြေရှင်းရန်နှင့်စီမံခန့်ခွဲရန်မည်သို့အသုံးပြုရမည်နည်း။ အဆင့်များအသေးစိတ်ရှင်းလင်းချက်]

gitbox 2025-09-03

2 ။ GetNV နှင့် $ _ENV နှင့်အတူသုံးပါ

သဘာဝပတ်ဝန်းကျင် variable ကိုသတ်မှတ်ပြီးနောက်ကျွန်ုပ်တို့သည်ပရိုဂရမ်တွင်၎င်းကိုဖတ်ရန်လိုအပ်သည်။ အသုံးပြုရန်နည်းလမ်းနှစ်မျိုးရှိသည်။

  1. GetNV မှတဆင့်ရယူပါ ()

 <span><span><span class="hljs-title function_ invoke__">putenv</span></span><span>(</span><span><span class="hljs-string">"APP_DEBUG=true"</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">getenv</span></span><span>(</span><span><span class="hljs-string">"APP_DEBUG"</span></span><span>); </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း: true</span></span><span>
</span></span>
  1. $ _ENV hyperglobal variable ကိုမှတဆင့်ရယူခြင်း

အချို့သော configurations များအောက်တွင် php.ini တွင်ရှိသော Variables_order setting ပေါ် မူတည်. ) putenv တွင်ရှိသောတန်ဖိုးကို $ _ENV သို့တစ်ပြိုင်တည်းချိန်ကိုက်သည်။

 <span><span><span class="hljs-title function_ invoke__">putenv</span></span><span>(</span><span><span class="hljs-string">"API_KEY=123456"</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$_ENV</span></span><span>[</span><span><span class="hljs-string">"API_KEY"</span></span><span>]; </span><span><span class="hljs-comment">// ဖွင့်လျှင်,ထုတ်လုပ်ခြင်း: 123456</span></span><span>
</span></span>

ကွဲပြားခြားနားသောဆာဗာပတ် 0 န်းကျင်နှင့် PPP ဖွဲ့စည်းခြင်းသည် $ _ENV ရှိနိုင်မှုကိုအကျိုးသက်ရောက်နိုင်ကြောင်းသတိပြုသင့်သည်။


3 ။ Web application များတွင်လျှောက်လွှာအခြေအနေများ

  1. operating ပတ်ဝန်းကျင်ကိုခွဲခြား

     <span><span><span class="hljs-title function_ invoke__">putenv</span></span><span>(</span><span><span class="hljs-string">"APP_ENV=development"</span></span><span>);
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">getenv</span></span><span>(</span><span><span class="hljs-string">"APP_ENV"</span></span><span>) === </span><span><span class="hljs-string">"development"</span></span><span>) {
        </span><span><span class="hljs-title function_ invoke__">error_reporting</span></span><span>(E_ALL);
        </span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">"display_errors"</span></span><span>, </span><span><span class="hljs-number">1</span></span><span>);
    } </span><span><span class="hljs-keyword">else</span></span><span> {
        </span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">"display_errors"</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>);
    }
    </span></span>
  2. ဒေတာဘေ့စ် configuration စီမံခန့်ခွဲမှု

     <span><span><span class="hljs-title function_ invoke__">putenv</span></span><span>(</span><span><span class="hljs-string">"DB_HOST=127.0.0.1"</span></span><span>);
    </span><span><span class="hljs-title function_ invoke__">putenv</span></span><span>(</span><span><span class="hljs-string">"DB_USER=root"</span></span><span>);
    </span><span><span class="hljs-title function_ invoke__">putenv</span></span><span>(</span><span><span class="hljs-string">"DB_PASS=secret"</span></span><span>);
    
    </span><span><span class="hljs-variable">$pdo</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">PDO</span></span><span>(
        </span><span><span class="hljs-string">"mysql:host="</span></span><span> . </span><span><span class="hljs-title function_ invoke__">getenv</span></span><span>(</span><span><span class="hljs-string">"DB_HOST"</span></span><span>),
        </span><span><span class="hljs-title function_ invoke__">getenv</span></span><span>(</span><span><span class="hljs-string">"DB_USER"</span></span><span>),
        </span><span><span class="hljs-title function_ invoke__">getenv</span></span><span>(</span><span><span class="hljs-string">"DB_PASS"</span></span><span>)
    );
    </span></span>
  3. အထိခိုက်မခံတဲ့သတင်းအချက်အလက်ကာကွယ်မှု <br> api keys, third-party 0 န်ဆောင်မှုတိုကင်များစသည်တို့ကိုသဘာဝပတ်ဝန်းကျင် variable များကို Code နှင့်လုံခြုံရေးတိုးမြှင့်ခြင်းနှင့်လုံခြုံရေးကိုမြှင့်တင်ရန်ပတ်ဝန်းကျင် variable များကိုလေ့လာပါ။


4 ။ ကြိုတင်ကာကွယ်မှုများနှင့်အကောင်းဆုံးအလေ့အကျင့်များ

  1. အရေးယူမှု၏အကွာအဝေး

    • Putenv မှပတ်ဝန်းကျင်ဆိုင်ရာ variable များကိုလက်ရှိ PHP လုပ်ငန်းစဉ်အတွက်သာတရားဝင်သည်နှင့်စနစ်ပတ်ဝန်းကျင်သို့ဆက်လက်တည်မြဲလိမ့်မည်မဟုတ်ပါ။

    • သဘာ 0 ပတ် 0 န်းကျင်ဆိုင်ရာ variable များကို server ပြန်လည်စတင်ပြီးနောက်သင့်ပတ် 0 န်းကျင် variable များဆက်လက်တည်ရှိလိုပါက၎င်းကို operating system configuration file (ဥပမာ .Bashrc သို့မဟုတ် .env ဖိုင်) မှတဆင့်သတ်မှတ်သင့်သည်။

  2. လိုက်ကြားမှု

    • စွမ်းဆောင်ရည်သည် CLI mode နှင့် web mode တွင်တသမတ်တည်းဖြစ်သော်လည်းအချို့သောစီမံခန့်ခွဲမှုဝန်းကျင်များသည် putenv အပေါ်ကန့်သတ်ချက်များရှိနိုင်သည်။

  3. အကြံပြုထားတဲ့အလေ့အကျင့်

    • .env files + PHP Loader ( Vlucas / PhpDotenv Libpdotenv စာကြည့်တိုက်) MISIONGAID ရှုခင်းများကိုတညီတညွတ်တည်းစီမံခန့်ခွဲရန်။

    • code တွင် getNV မှတဆင့် variable များကိုသာရယူပါ။