PHP တွင် PHP configuration settings ကိုပြောင်းလဲခြင်းကိုပြောင်းလဲရန် ini_set () function ကိုအသုံးပြုသည်။ ၎င်း၏ရည်ရွယ်ချက်မှာ PHP ၏ PHPP.INI Configuration file ရှိအချို့သောတန်ဖိုးများကို Runtime ရှိ PHP ဘ 0 ၏အပြုအမူကိုပြုပြင်ရန်အတွက် Runtime ရှိအချို့သောတန်ဖိုးများကိုပြုပြင်ရန်ဖြစ်သည်။ သို့သော်အချို့ဖြစ်ရပ်များတွင် Ini_set () function ကို အသုံးပြု. configuration settings များရှိသော်လည်းနောက်ဆုံးပြင်ဆင်မှုတန်ဖိုးကိုအခြား settings များဖြင့်ပြန်လည်ပေးဆပ်ရ ဦး မည်ဖြစ်ကြောင်းကျွန်ုပ်တို့တွေ့ရှိနိုင်သည်။ ဤအခြေအနေသည်မျှော်လင့်ထားသည့်အပြုအမူသည်ရလဒ်များကိုအမှန်တကယ်ရလဒ်များနှင့်ကိုက်ညီမှုရှိစေပြီးဖွံ့ဖြိုးတိုးတက်မှုအတွက်အခက်အခဲများဖြစ်ပေါ်စေသည်။ ဤဆောင်းပါးသည်ဤဖြစ်စဉ်၏ဘများအားဖြစ်ရပ်များကိုစူးစမ်းလေ့လာပြီးဤပြ problem နာကိုရှောင်ရှားရန်အချို့သောဖြေရှင်းနည်းများကိုထောက်ပံ့ပေးလိမ့်မည်။
PHP configuration file php.ini သည်အစပိုင်းတွင်တင်ထားသော configuration အရင်းအမြစ်ဖြစ်သည်။ ini_set () ကို Runtime တွင်အချို့သော configurations အချို့ကိုပြုပြင်ရန်အသုံးပြုနိုင်သော်လည်းအချို့သော configuration ပစ္စည်းများသည် Runtime အပြောင်းအလဲများထက်ပိုမိုများပြားသည်။ ဥပမာအားဖြင့် PHP.ini ရှိ configuration တန်ဖိုးသည် Ini_set ပြီးနောက်ပြန်လည်ဖွင့်ဆိုသည့်အခါပြောင်းလဲနေသော settings ကိုပြန်လည်ရေးသားလိမ့်မည်။
ထို့အပြင် PHP Configuration ပစ္စည်းများအတွက်ပြုပြင်ပြောင်းလဲမှုခွင့်ပြုချက်များသည် PHP လုံခြုံရေးစနစ်သို့မဟုတ် operating system permissions တို့ကြောင့်လည်းသက်ရောက်မှုရှိသည်။ ထိုကဲ့သို့သောပတ်ဝန်းကျင်တွင် ini_set (စိတ်ဓာတ် () ကို ပိတ်ထားနိုင်ပြီးအချို့သော configuration ပစ္စည်းများပြောင်းလဲခြင်းမရှိပါ။
အကယ်. PHP သည် Safe_Mode ကို ဖွင့်ရန်သို့မဟုတ် Open_basedir က န့်သတ်ချက်များကိုဖွင့်ရန်ပြင်ဆင်ထားလျှင်, ဆိုလိုသည်မှာ Ini_set () သည် ဤတန်ဖိုးများကိုပြုပြင်မွမ်းမံနိုင်မည်မဟုတ် (သို့) ပြုပြင်ထားသောတန်ဖိုးများကို operating system ၏လုံခြုံရေးမူဝါဒအားဖြင့်ရေးသားလိမ့်မည်။
PHP သည် Apache server မှတစ်ဆင့်လည်ပတ်သောအခါအချို့သော configuration ပစ္စည်းများသည် Apache ၏ configuration files များမှတဆင့်ချိန်ညှိနိုင်သည် .Htaccess or httpd.conf ကဲ့သို့သော။ ဤ configuration files များသည် ini_set မှပြုလုပ်သောအပြောင်းအလဲများကို override လုပ်နိုင်သည်။ ဥပမာအားဖြင့်, အချို့သော PHP ချိန်ညှိချက်များကို .htaccess ဖိုင်တွင်ပြုပြင်မွမ်းမံလျှင်ဤချိန်ညှိချက်များသည် asache စတင်သည့်အခါ asactime တွင်ပြောင်းလဲခြင်းကိုအစပြုသည် ။
FastCGI (သို့) PHP-FPM (FastCGI လုပ်ငန်းစဉ်စီမံခန့်ခွဲမှုမန်နေဂျာ) မှတဆင့် PHP အစီအစဉ်များအတွက် PHP configuration ကို php-fpm.confconf သို့မဟုတ် www.conf ကဲ့သို့သော configuration files များဖြင့်စီမံသည်။ အချို့သော configuration ပစ္စည်းများများကိုဤဖိုင်များတွင်သတ်မှတ်ထားပါက Ini_set (code) တွင်ပြုပြင်ထားသောအစတွင်၎င်းတို့ကို FPM Configuration မှ FPM Configuration မှ overwritt ်ဌာန်ချထားနိုင်သည်။
PHPCICE, MEMCACKED, XDebug စသဖြင့်) PHP extension များ (ဥပမာ - opcache, memcached, xdebug စသဖြင့်) PHP script execution တွင် configuration ပစ္စည်းများကိုအကျိုးသက်ရောက်နိုင်သည်။ ဘာဖြစ်လို့လဲဆိုတော့ PHP startup မှာ extension ကို intraination ကိုစတင်ပြီး Ini_set ကသတ်မှတ်ထားတဲ့ configuration value ကို override လို့ပါ။ ထို့ကြောင့် configuration item တွင် extension တစ်ခုတွင်တိုးချဲ့မှုတစ်ခုပြုလုပ်ပါက ini_set () ၏ setting ကို overwrite လုပ်လိမ့်မည်။
PHP configuration ကိုမှန်ကန်သောနေရာတွင်ထားရန်သေချာပါစေ။ ဥပမာအားဖြင့် PHP သည် Apache မှတစ်ဆင့်လည်ပတ်နေပါကသက်ဆိုင်ရာ configuration ကို .Htaccess configuration ကို .Htaccess သို့မဟုတ် httpd.confcf ကို code မှတဆင့်သတ်မှတ်ရန်ထက်ပိုနှစ်သက်သည်။ PHP-FPM ကို သုံး. PHP-FPM.confconf မှတစ်ဆင့်သက်ဆိုင်ရာ configuration options များကိုသေချာစွာသတ်မှတ်ထားပါ။
ini_set မှပြုပြင်ထားသော configurations များကို runtime တွင် dynamure လုပ်ထားနိုင်ကြောင်းသေချာအောင်လုပ်ပါ။ အချို့သော configuration များကို php_ini_system သို့မဟုတ် php_ini_perdir ကိုသတ်မှတ်နိုင်သည်။ ဤပစ္စည်းများကိုမှန်ကန်သောပတ် 0 န်းကျင်တွင်ပြုပြင်ရန်လိုအပ်သည်။ Configuration item တစ်ခုစီ၏ခွင့်ပြုချက်ကိုကြည့်ရှုရန် Phpinfo () ကို သုံးနိုင်သည် ။
အချို့သော configuration ပစ္စည်းများအတွက် ini_set () ကိုအသုံးပြုခြင်းသည်မသင့်တော်ပါ။ အထူးသဖြင့်ဤချိန်ညှိချက်များကိုဆာဗာအဆင့်တွင်မှန်ကန်ကြောင်းသေချာစေရန်လိုအပ်သည်။ အရေးကြီးသော configuration items (ဥပမာ Maxecution_time_time , memory_limit ) ကဲ့သို့သော PHP.ini ကို တိုက်ရိုက်ပြုပြင်ခြင်းသို့မဟုတ်သက်ဆိုင်ရာ parametersing များကိုတိုက်ရိုက်ပြုပြင်ခြင်းသို့မဟုတ် PHP သည် PHP ကိုညွှန်ပြသည့်အခါ PHP ကို စတင်. Perming ပြုလုပ်ရန်စဉ်းစားနိုင်သည်။ ၎င်းသည် dynamic settings ကို runtime တွင် overrwittittittittittittitate မှကာကွယ်ပေးသည်။
အကယ်. configuration item ၏တန်ဖိုးကိုအကျိုးသက်ရောက်စေသည့် PHP တိုးချဲ့မှုကိုကြုံတွေ့ရပါကသင် extension ကို disable လုပ်နိုင်သို့မဟုတ် extension ကို checapion ၏ configuration ကို checapion ကိုစစ်ဆေးနိုင်သည်။ ဥပမာ OPCICE ကိုအသုံးပြုသောအခါ OPCIZE configuration သည် ini_set ၏တန်ဖိုး (သို့) မလိုအပ်သောတိုးချဲ့ခြင်းများကို 0 င်ရောက်စွက်ဖက်ခြင်းမပြုနိုင်ပါ။
အကယ်. သင်ကြုံတွေ့နေရသည့် override ပြ problem နာကို fastcgi သို့မဟုတ် Php-FPM ပတ်ဝန်းကျင်တွင်တွေ့ရှိပါက PHP-FPM Configuration file ကိုစစ်ဆေးရန်နှင့်ပတ်ဝန်းကျင် variable များကိုမှန်ကန်စွာသတ်မှတ်ရန်သေချာစေရန်အကြံပြုပါသည်။ Phpinfo မှတစ်ဆင့် Runtime ပတ်ဝန်းကျင်ကို Phpinfo () မှတစ်ဆင့်ပြုပြင်ပြောင်းလဲမှုများကိုစစ်ဆေးနိုင်သည်။
ကျိုးကြောင်းဆီလျော်သော configuration စီမံခန့်ခွဲမှုကြောင့် PHP developer များသည်အခြားချိန်ညှိချက်များမှ overwrite overwrite လုပ်သည့် configurations ၏ပြ problem နာကိုရှောင်ရှားနိုင်သည်။ Ini_set () သည် Runtime တွင်တက်ကြွသော configuration ပြောင်းလဲမှုများပြုလုပ်နိုင်သည့်အလွန်အသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သည်။ PHP configuration ၏ ဦး စားပေးမှု, Runtime ပတ်ဝန်းကျင်၏ 0 င်ရောက်စွက်ဖက်မှုနှင့်အခြားတည်ဆောက်မှုဖိုင်များသည် developer များအား PHP ပတ်ဝန်းကျင်၏အပြုအမူကိုပိုမိုထိန်းချုပ်ရန်ကူညီနိုင်သည်။