PHP တွင် stream_get_filters () သည်လက်ရှိစနစ်တွင်ရရှိနိုင်သည့် stream filter များအားလုံးရရှိရန်အလွန်အသုံးဝင်သောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ၎င်းသည် filter အမည်ပါသောခင်းကျင်းမှုကိုပြန်လည်ရောက်ရှိစေသည်။
ဥပမာအားဖြင့်, များသောအားဖြင့်သင်ကဲ့သို့သောအရာတစ်ခုခုကိုသင်တွေ့လိမ့်မည်:
print_r(stream_get_filters());
output ကိုဆင်တူသည် -
Array
(
[0] => string.rot13
[1] => string.toupper
[2] => string.tolower
[3] => convert.iconv.*
[4] => zlib.*
)
သို့သော်အချို့သော developer တချို့ကဒီကုဒ်ကိုသုံးတဲ့အခါသူတို့ပြန်လာတာကိုဗလာကျင်းတဲ့နေရာတစ်ခုဖြစ်တယ်ဆိုတာသူတို့တွေ့ရတယ်။
Array
(
)
ဒီတော့ဘာကြောင့်ဒီလိုဖြစ်ရတာလဲ။ ဤဆောင်းပါးသည်ဘုံအကြောင်းပြချက်များနှင့်သက်ဆိုင်ရာဖြေရှင်းနည်းများကိုခွဲခြမ်းစိတ်ဖြာလိမ့်မည်။
fls filter များကို ZLIB , ICOV စစသည့် extensits များကအဓိကအားဖြင့် PHP ကိုအသုံးချပါက PHP ကိုအနည်းဆုံး configure လုပ်ခြင်းဖြင့်ပြုလုပ်ပါက extensions များစွာကိုဖယ်ရှားပစ်နိုင်သည် ။
သက်ဆိုင်ရာ extensions များကိုလက်ရှိ PHP တွင်တင်ထားခြင်းရှိမရှိစစ်ဆေးရန်အောက်ပါ command ကိုသုံးနိုင်သည်။
php -m
ZLIB နှင့် ICOVV ကဲ့သို့သော extension များပျောက်ဆုံးနေသည်ကိုသင်တွေ့ရှိပါက PHP ကိုပြန်လည်ရယူရန်သို့မဟုတ် PHP.ini ကို ဤ extensions များကို enable လုပ်ရန်အတွက်ပြန်လည်ပြုပြင်ရန်လိုအပ်သည်။
ဘုံ linux ဖြန့်ဖြူးမှုအတွက်သင်အသုံးပြုနိုင်သည်။
sudo apt install php-zlib php-iconv
တပ်ဆင်ပြီးနောက် PHP 0 န်ဆောင်မှုကိုပြန်လည်စတင်ပါ။
အချို့သော developer များက stream_get_filters () command line (cli) တွင်စစ်ဆေးသည်။ ရလဒ်မှာအချည်းနှီးဖြစ်သော်လည်း၎င်းကို browser တွင်ကြည့်ရှုခြင်းသည်ပုံမှန်ဖြစ်သည်။ CLI နှင့် Web ပတ် 0 န်းကျင်များသည်ကွဲပြားသော php.ini configuration files များကိုအသုံးပြုသောကြောင့်ဖြစ်သည်။
အောက်ပါ command ဖြင့် cli ၏ configuration file path ကိုစစ်ဆေးပါ။
php --ini
သင်လိုအပ်သည့် extensiguration ဖိုင်တွင်သင်လိုအပ်သော extension များကိုသေချာစေရန် loaded configuration file ကို စစ်ဆေးပါ။
FPM သည်ကွဲပြားသော PHP.ini ကို အသုံးပြုနေပါက၎င်းတို့ကိုစစ်ဆေးရန်နှင့် align လုပ်ရန်လည်းလိုအပ်သည်။
အချို့သောဖွံ့ဖြိုးမှုပတ် 0 န်းကျင်အချို့ (ထိုကဲ့သို့သောကွန်တိန်နာအခြေခံပုံရိပ်များကဲ့သို့) ပမာဏကိုလျှော့ချရန်ပုံမှန် extensions အားလုံးနီးပါးကိုဖယ်ရှားပါ။ ဤကိစ္စတွင် PHP သည်ပုံမှန်အားဖြင့်စတင်လျှင်ပင် stream_get_filters () သည် ဗလာကျလိမ့်မည်။
သင်အသုံးပြုနေသော PHP image သို့မဟုတ် installation package ကိုစစ်ဆေးပါ, ၎င်းသည်ဗားရှင်းအပြည့်ပါ 0 င်မှုရှိမရှိအတည်ပြုပြီးလိုအပ်ပါကစံတိုးချဲ့ထားသောဗားရှင်းသို့ပြောင်းပါ။
အချို့သောတင်းကြပ်စွာကန့်သတ်ထားသည့်ပတ်ဝန်းကျင်တွင်ထိုကဲ့သို့သောမျှဝေထားသော hosting ကဲ့သို့သောတင်းကြပ်သောပတ်ဝန်းကျင်တွင် stream-consurs ည့်သည်များကို disable_Functions သို့မဟုတ်အခြားနည်းလမ်းများဖြင့်ပိတ်ထားနိုင်သည်။
Phpinfo () သို့မဟုတ် PHP သို့မဟုတ် PHP သို့မဟုတ် PHP -i ၏ရလဒ်များကိုစစ်ဆေးပါ။ သက်ဆိုင်ရာလုပ်ဆောင်ချက်များကို ပိတ်ထား သည်။
အကယ်. ၎င်းကို hosting provider မှမသန်စွမ်းပါက၎င်းတို့ကိုဆက်သွယ်ရန်သို့မဟုတ်ပိုမိုပြောင်းလွယ်ပြင်လွယ်ရှိသော hosting ပတ်ဝန်းကျင်သို့ပြောင်းရန်လိုအပ်နိုင်သည်။
သင်၏ PHP ပတ် 0 န်း ကျင်တွင် ZLIB မရှိသေးကြောင်းယူဆရသော်လည်းအောက်ပါလမ်းတွင်သင် load ကို 0 င်ရောက်နိုင်သည် (စနစ်သည်သက်ဆိုင်ရာ .dll ဖိုင်များ)
if (!extension_loaded('zlib')) {
dl('zlib.so');
}
ကျေးဇူးပြု. သတိပြုပါ ။
<?php
$filters = stream_get_filters();
if (empty($filters)) {
echo "လက်ရှိတွင် stream filter ကိုအခမဲ့ရရှိနိုင်ပါ,extension များနှင့် configurations စစ်ဆေးပါ。\n";
echo "တိုးကားခြင်း:https://gitbox.net/php/extensions-setup\n";
} else {
echo "ရရှိနိုင်သည့်စီးဆင်းမှု filter များ:\n";
print_r($filters);
}
?>
ဤနေရာတွင် https://gitbox.net/php/php/epp/extensions -setup ကိုကျွန်ုပ်တို့ညွှန်ပြပါမည် (ဒိုမိန်းအမည်ကိုအစားထိုးသည်) ။
အကယ်. သင် stream_get_filters () အချည်းနှီးသောခင်းကျင်းမှုကိုပြန်ပို့လျှင်သင်တွေ့လျှင်မထိတ်လန့်ပါနှင့်။ ၎င်းသည်များသောအားဖြင့်ပျောက်ဆုံးနေသောပတ်ဝန်းကျင် configuration သို့မဟုတ် extension များနှင့်ပြ a နာတစ်ခုသာဖြစ်သည်။ အထက်ပါစစ်ဆေးရေးအဆင့်များမှတဆင့်အကြောင်းရင်းသည်အခြေခံအားဖြင့်တည်ရှိပြီးဖြေရှင်းနိုင်သည်။
အကယ်. သင်သည်အထူးပြ problems နာများပိုမိုများပြားစွာကြုံတွေ့ရပါကမှတ်ချက်ပေးသည့်အပိုင်းသို့မဟုတ်ဖိုရမ်တွင်မှတ်ချက်ပေးရန်နှင့်ဆွေးနွေးရန်လည်းသင့်အားအကူအညီပေးရန်တိုက်ရိုက် ဆက်သွယ် ပါ။