လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ကျွန်ုပ်၏ stream_get_filters function သည်အချည်းနှီးသောခင်းကျင်းမှုကိုအဘယ်ကြောင့်ပြန်လာသနည်း။ ဘုံအကြောင်းရင်းခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်ဖြေရှင်းနည်းများ

ကျွန်ုပ်၏ stream_get_filters function သည်အချည်းနှီးသောခင်းကျင်းမှုကိုအဘယ်ကြောင့်ပြန်လာသနည်း။ ဘုံအကြောင်းရင်းခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်ဖြေရှင်းနည်းများ

gitbox 2025-05-28

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
(
)

ဒီတော့ဘာကြောင့်ဒီလိုဖြစ်ရတာလဲ။ ဤဆောင်းပါးသည်ဘုံအကြောင်းပြချက်များနှင့်သက်ဆိုင်ရာဖြေရှင်းနည်းများကိုခွဲခြမ်းစိတ်ဖြာလိမ့်မည်။

ဘုံအကြောင်းမရှိ 1: PHP စုစည်းစဉ်အတွင်းလိုအပ်သော extension ကိုဖွင့်ထားမည်မဟုတ်ပါ

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 န်ဆောင်မှုကိုပြန်လည်စတင်ပါ။

ဘုံအကြောင်းမရှိ (ဥပမာ - CLI နှင့် FPM Configuration Montent ကဲ့သို့ Php ပတ်ဝန်းကျင်နှင့်အတူပြ a နာတစ်ခုရှိသည်။

အချို့သော 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 လုပ်ရန်လည်းလိုအပ်သည်။

ဘုံအကြောင်းပြချက် 3 - ထုံးစံတစ်ခုသို့မဟုတ်အနည်းဆုံးရိုးရှင်းသော PHP ဖြန့်ဖြူးမှုကိုအသုံးပြုခဲ့သည်

အချို့သောဖွံ့ဖြိုးမှုပတ် 0 န်းကျင်အချို့ (ထိုကဲ့သို့သောကွန်တိန်နာအခြေခံပုံရိပ်များကဲ့သို့) ပမာဏကိုလျှော့ချရန်ပုံမှန် extensions အားလုံးနီးပါးကိုဖယ်ရှားပါ။ ဤကိစ္စတွင် PHP သည်ပုံမှန်အားဖြင့်စတင်လျှင်ပင် stream_get_filters () သည် ဗလာကျလိမ့်မည်။

အဖေြ

သင်အသုံးပြုနေသော PHP image သို့မဟုတ် installation package ကိုစစ်ဆေးပါ, ၎င်းသည်ဗားရှင်းအပြည့်ပါ 0 င်မှုရှိမရှိအတည်ပြုပြီးလိုအပ်ပါကစံတိုးချဲ့ထားသောဗားရှင်းသို့ပြောင်းပါ။

ဘုံအကြောင်းမရှိ 4: PHP ကိုသတ်သတ်မှတ်မှတ်လုပ်ဆောင်ချက်များကိုသို့မဟုတ် module များအတွက်ပိတ်ထားသည်

အချို့သောတင်းကြပ်စွာကန့်သတ်ထားသည့်ပတ်ဝန်းကျင်တွင်ထိုကဲ့သို့သောမျှဝေထားသော hosting ကဲ့သို့သောတင်းကြပ်သောပတ်ဝန်းကျင်တွင် stream-consurs ည့်သည်များကို disable_Functions သို့မဟုတ်အခြားနည်းလမ်းများဖြင့်ပိတ်ထားနိုင်သည်။

အဖေြ

Phpinfo () သို့မဟုတ် PHP သို့မဟုတ် PHP သို့မဟုတ် PHP -i ၏ရလဒ်များကိုစစ်ဆေးပါ။ သက်ဆိုင်ရာလုပ်ဆောင်ချက်များကို ပိတ်ထား သည်။

အကယ်. ၎င်းကို hosting provider မှမသန်စွမ်းပါက၎င်းတို့ကိုဆက်သွယ်ရန်သို့မဟုတ်ပိုမိုပြောင်းလွယ်ပြင်လွယ်ရှိသော hosting ပတ်ဝန်းကျင်သို့ပြောင်းရန်လိုအပ်နိုင်သည်။

အမှန်တကယ်ကိစ္စ - ပြောင်းလဲနေသော Loading extension ကို

သင်၏ PHP ပတ် 0 န်း ကျင်တွင် ZLIB မရှိသေးကြောင်းယူဆရသော်လည်းအောက်ပါလမ်းတွင်သင် load ကို 0 င်ရောက်နိုင်သည် (စနစ်သည်သက်ဆိုင်ရာ .dll ဖိုင်များ)

 if (!extension_loaded('zlib')) {
    dl('zlib.so');
}

ကျေးဇူးပြု. သတိပြုပါ

extension ကိုစနစ်တကျတင်ဆောင်နေလျှင်စစ်ဆေးမှု၏ပြည့်စုံ

 <?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 နာများပိုမိုများပြားစွာကြုံတွေ့ရပါကမှတ်ချက်ပေးသည့်အပိုင်းသို့မဟုတ်ဖိုရမ်တွင်မှတ်ချက်ပေးရန်နှင့်ဆွေးနွေးရန်လည်းသင့်အားအကူအညီပေးရန်တိုက်ရိုက် ဆက်သွယ် ပါ။