PHP တွင် stream_get_filters () function ကိုလက်ရှိ PHP ပတ်ဝန်းကျင်တွင်မှတ်ပုံတင်ထားသော stram များကိုရယူရန်အသုံးပြုသည်။ ဤလုပ်ဆောင်ချက်သည်များသောအားဖြင့်ရရှိနိုင်သည့် filters အားလုံး၏အမည်များပါ 0 င်သောခင်းကျင်းမှုကိုများစွာပြန်ပို့သည်။ သို့သော်တစ်ခါတစ်ရံတွင်ကျွန်ုပ်တို့တွင် stream_get_filters () အချည်းနှီးသောခင်းကျင်းမှုကိုပြန်ပို့ခြင်း၏ပြ problem နာရှိသည်။ ဤဆောင်းပါးသည်ဤပြ problem နာ၏ဘုံအကြောင်းများကိုအသေးစိတ်လေ့လာပြီးထိရောက်သောပြ troubl နာဖြေရှင်းနည်းများကိုအသေးစိတ်လေ့လာလိမ့်မည်။
Configuration ပြ issues နာများကြောင့် PHP ရှိ Flow filter ကိုစနစ်တကျတပ်ဆင်ထားမည်မဟုတ်ပါ။ PHP configuration file ( php.ini ) တွင် stream filter များကိုထောက်ပံ့ရန်အထောက်အပံ့ကိုဖွင့ ်. မရပါ။
PHP configuration file ကိုစစ်ဆေးရန် PHP configuration file ကိုစစ်ဆေးရန် (ဥပမာ filter ) ကို enable လုပ်ထားသည်။
Phpinfo () function မှတဆင့်စီးဆင်းမှု filter နှင့်ပတ်သက်သောသတင်းအချက်အလက်ရှိမရှိစစ်ဆေးပါ။ သက်ဆိုင်ရာသတင်းအချက်အလက်မရှိပါက၎င်းသည်စီးဆင်းမှု filter extension ကိုစနစ်တကျတပ်ဆင်ခြင်းသို့မဟုတ်ဖွင့်နိုင်သည်ဟုဆိုလိုသည်။
သင်၏ PHP ပတ် 0 န်းကျင်နှင့် ပတ်သက် . ပြ problems နာအချို့ရှိလျှင် (ဥပမာ configuration file ကိုမှန်မှန်ကန်ကန်မတင်ပါနှင့်, ဗားရှင်းသည်အလွန်နိမ့်သည်။
PHP ဗားရှင်းကိုစစ်ဆေးရန် PHP ဗားရှင်းကိုစစ်ဆေးပါ (PHP 5.2 နှင့်အထက်)
PHP သည်လိုအပ်သော extensions အားလုံးကိုမှန်ကန်စွာ 0 န ် ဆောင်မှုပေးကြောင်းစစ်ဆေးပါ။
Custom Stramual Study Methods (စိတ်ကြိုက် protocols ကဲ့သို့သော) ကိုအသုံးပြုသည့်အခါ၎င်းသည်သင်၏ code ထဲ၌ (စိတ်ကြိုက် protocols များ) ကိုအသုံးပြုသောအခါ၎င်းသည် stream_get_filters () ၏ပြန်လာရလဒ်ကိုအကျိုးသက်ရောက်နိုင်သည်။
ထုံးစံ streaming သို့မဟုတ်စိတ်ကြိုက် protocols များကိုကုဒ်တွင်အသုံးပြုသည်ကိုစစ်ဆေးပါ။
အကယ်.သာဆိုလျှင်သက်ဆိုင်ရာကုဒ်ကို disable လုပ်ရန်သို့မဟုတ်ပြုပြင်ရန်ကြိုးစားပါ ။
သင်၏ကုဒ်သည် URL streaming လုပ်ငန်းများပါ 0 င်ပါက URL ၏ Domain Name သည်ပုံမှန်အားဖြင့် PHP-backed protocol မဟုတ်ဘဲ stream filter ကိုမှန်ကန်စွာမဖွင့်နိုင်ပါ။
ဥပမာအားဖြင့်, အောက်ပါကုဒ်ကိုအသုံးပြုသောအခါ:
$context = stream_context_create();
$stream = fopen('http://gitbox.net/somefile.txt', 'r', false, $context);
$filters = stream_get_filters();
print_r($filters);
အကယ်. PHP သည် URL ၏ protocols အတွက် URL ၏ Protocols အတွက်သင့်တော်သော stream filter ကိုအထောက်အပံ့များမပါရှိပါက Stream_get_Filters () သည် အချည်းနှီးသောခင်းကျင်းမှုကိုပြန်ပေးနိုင်သည် ။
သင်၏ URL တွင် protocol သည်မှန်ကန်သည်ကိုစစ်ဆေးပြီး protocol သည် stream filter များကိုထောက်ပံ့ကြောင်းအတည်ပြုပါ။
အကယ်. ၎င်းသည်စိတ်ကြိုက် protocol ဖြစ်လျှင်သက်ဆိုင်ရာစီးဆင်းမှု filter ကိုမှန်ကန်စွာမှတ်ပုံတင်ထားခြင်းရှိမရှိစစ်ဆေးပါ။
သင်၏ PHP configuration ကိုလိုအပ်သော extensions များအားလုံးကိုမှန်ကန်စွာဖွင့်ရန်သေချာစေပါ။ သင်အောက်ပါနည်းလမ်းများဖြင့်စစ်ဆေးပြီးပြင်ဆင်နိုင်သည်။
သက်ဆိုင်ရာတိုးချဲ့မှုများကိုမသန်စွမ်းမှုမရှိကြောင်းသေချာစေရန် Php.ini ဖိုင်ကိုစစ်ဆေးပါ။
configuration file ကိုအကျိုးသက်ရောက်စေရန်ဝက်ဘ်ဆာဗာကိုပြန်လည်စတင်ပါ။
သင်၏ PHP ဗားရှင်းသည်အနည်းဆုံး PHP 5.2 သို့မဟုတ်ထိုထက်ပိုသည်အသစ်သောအသစ်ဖြစ်ကြောင်းသေချာပါစေ။ အကယ်. ဗားရှင်းသည်အလွန်နိမ့်ပါက PHP ကိုအဆင့်မြှင့်တင်ရန်စဉ်းစားပါ။
ဖြစ်နိုင်လျှင် custom streaming protocols သို့မဟုတ် domain names များကိုအသုံးပြုခြင်းကိုရှောင်ကြဉ်ပါ။ PHP မှပံ့ပိုးပေးသော protocols များကို Flow filter ကိုပုံမှန်အသုံးပြုနိုင်ရန်နှင့်ပုံမှန်အသုံးပြုနိုင်ရန် အတွက် အသုံးပြုသော protocols များကိုအသုံးပြုရန်ကြိုးစားပါ ။
အကယ်. သင်သည်စိတ်ကြိုက် protocol သို့မဟုတ် stream filter ကိုအသုံးပြုရန်လိုအပ်ပါကသင်၏ကိုယ်ပိုင် Stream filter ကို stream_filter_register () function မှတဆင့်မှတ်ပုံတင်နိုင်သည်။ ဥပမာအားဖြင့်:
stream_filter_register('myfilter', 'my_filter_function');
$filters = stream_get_filters();
print_r($filters);
ဤသည်စိတ်ကြိုက် filter များကိုမှန်ကန်စွာဖော်ထုတ်ပြီးလျှောက်ထားနိုင်ကြောင်းသေချာစေသည်။