လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> TerryPhP အတည်ပြုချက်ကုဒ်အတွက်အကြောင်းပြချက်များနှင့်ဖြေရှင်းနည်းများကိုမပြပါ

TerryPhP အတည်ပြုချက်ကုဒ်အတွက်အကြောင်းပြချက်များနှင့်ဖြေရှင်းနည်းများကိုမပြပါ

gitbox 2025-08-04

The TerryPhP အတည်ပြုချက်ကုဒ်ကိုမပြရန်ဘုံအကြောင်းပြချက်များနှင့်နည်းလမ်းများ

ThinkPPP နှင့်တီထွင်သောအခါ Image Verification Code သည်ဘုံလုံခြုံရေးအတည်ပြုနည်းများထဲမှတစ်ခုဖြစ်သည်။ သို့သော်အမှန်တကယ်ဖြန့်ကျက်မှုဖြစ်စဉ်တွင် developer များစွာသည်ပြ problem နာကိုပုံမှန်အားဖြင့်ပုံမှန်အားဖြင့်မပြနိုင်ကြောင်းပြ the နာကိုကြုံတွေ့ရလိမ့်မည်။ ဤဆောင်းပါးသည်ထောင့်ကွက်များနှင့်အတိမ်အနက်ကိုနက်နက်နဲနဲလေ့လာသုံးသပ်ပြီးထိရောက်သောစုံစမ်းစစ်ဆေးရေးအတွေးအခေါ်များနှင့်ဖြေရှင်းနည်းများကိုဖြည့်ဆည်းပေးနိုင်လိမ့်မည်။

လမ်းကြောင်း configuration အမှား

TrushPP ရှိအတည်ပြုကုဒ်၏လမ်းကြောင်းကိုများသောအားဖြင့် configuration file မှတဆင့်သတ်မှတ်ထားသည်။ အကယ်. လမ်းကြောင်းကိုမှားယွင်းစွာသတ်မှတ်ထားပါက browser သည်အတည်ပြုကုဒ်ကိုမှန်ကန်စွာမရရှိနိုင်ပါ။

များသောအားဖြင့် config.php ဖိုင်တွင်တည်ရှိသောစီမံကိန်း configuration file ရှိသက်ဆိုင်ရာပစ္စည်းများအားစစ်ဆေးပါ။

  'captcha' => array( 'length' => 4, 'fontSize' => 25, 'useCurve' => false, 'useNoise' => false, 'reset' => true, ), 

လမ်းကြောင်းကိုမှန်ကန်စွာသတ်မှတ်ထားပြီး Controller ရှိခေါ်ဆိုမှုယုတ္တိဗေဒနှင့်ကိုက်ညီကြောင်းသေချာပါစေ။ URL ပြန်လည်ရေးရန်အသုံးပြုသည်ဆိုပါကပြန်လည်ရေးရာစည်းမျဉ်းတွင်အတည်ပြုကုဒ်လမ်းကြောင်းကိုပိတ်ဆို့ခြင်းမရှိပါကသင်အတည်ပြုရမည်။

GD စာကြည့်တိုက်ကို install လုပ်မထားဘူး,

အတည်ပြုကုဒ်မျိုးဆက် GD စာကြည့်တိုက်ပံ့ပိုးမှုပေါ်တွင်မူတည်သည်။ အကယ်. ဆာဗာတွင် GD စာကြည့်တိုက်တပ်ဆင်ခြင်းသို့မဟုတ်ဗားရှင်းသည်အလွန်နိမ့်ပါက၎င်းသည်အတည်ပြုကုဒ်ပုံရိပ်များကိုတိုက်ရိုက် ဦး ဆောင်လိမ့်မည်။

GD စာကြည့်တိုက်သည်အောက်ပါနည်းလမ်းများကို အသုံးပြု. သင်တည်ရှိသည်ကိုစစ်ဆေးနိုင်သည်။

 
var_dump(function_exists('gd_info'));

မှားယွင်းသော အဓိပ္ပာယ်ကိုပြန်ခြင်းဆိုသည်မှာ GD စာကြည့်တိုက်ကို install မလုပ်နိုင်ခြင်းဖြစ်သည်။ GD စာကြည့်တိုက်ကိုဆာဗာတွင်တပ်ဆင်ရန်သို့မဟုတ်အဆင့်မြှင့်တင်ရန်နှင့်ဝက်ဘ်ဝန်ဆောင်မှုကိုပြန်လည်စတင်ရန်အကြံပြုသည်။

အတည်ပြုကုဒ် cache ကိုခြွင်းချက်

စွမ်းဆောင်ရည်တိုးတက်စေရန်အတွက်စိစစ်အတည်ပြုကုဒ်များကိုများသောအားဖြင့်သိမ်းဆည်းထားကြသည်။ အကယ်. cache သည်ပုံမှန်မဟုတ်သောသို့မဟုတ်ဖိုင်သည်အကျင့်ပျက်နေပါက၎င်းသည်အတည်ပြုကုဒ်ကိုပြသနိုင်မည်မဟုတ်ပါ။

Class ကိုထုတ်လုပ်ရန် verification code ကိုကိုယ်တိုင်ဖုန်းဖြင့်ခေါ်ဆိုနိုင်သည်။

 
$captcha = new \think\captcha\Captcha();
$captcha->entry('captcha');

အထက်ဖော်ပြပါကုဒ်သည်အတည်ပြုကုဒ်ကိုပြန်လည်ထူထောင်နိုင်ပြီး cache ကြောင့်ဖြစ်ရတဲ့ပြသမှုပြ problem နာကိုဖြေရှင်းဖို့ cache ကိုရေးမယ်။

Page output ပ conflict ိပက်ခ

အကယ်. စာမျက်နှာတွင်စာမျက်နှာတွင်ပါ 0 င်သည့်အကြောင်းအရာများ (နေရာများ, HTML tags များသို့မဟုတ်အခြားဇာတ်ကောင်များ) ရှိပါကအတည်ပြုကုဒ်ပုံရိပ်ကိုမထုတ်လုပ်မီကအတည်ပြုကုဒ်ပုံကိုမှန်ကန်စွာပြန်ဆိုခံရနိုင်သည်။

အတည်ပြုကုဒ်ကိုထုတ်ပြန်သည့် Controller Method တွင်အခြား output မရှိကြောင်းသေချာအောင်လုပ်ပါ။ အတည်ပြုကုဒ်များကိုများသောအားဖြင့်ကိုးကားနေကြသည်:

 
<img src="/captcha" alt="အတည်ပြုရန်ကုတ်">

SRC attribute သည် url path ကို url path ကိုညွှန်ပြသည့် URL လမ်းကြောင်းအားသေချာအောင်လုပ်ပါ။

ကောက်ချက်

စုစုပေါင်း TerryPPP စစ်ဆေးခြင်းကုဒ်ကိုပြခြင်းမပြုရပါ, လမ်းကြောင်း configuration အမှားများ, ပျောက်ဆုံးနေသောသို့မဟုတ်ပုံမှန်မဟုတ်သော GD စာကြည့်တိုက်များ, စစ်ဆေးမှုတွင်အထက်ပါ settings ကိုအလှည့်ကျစစ်ဆေးရန်အကြံပြုသည်။

မကြာသေးမီ ဆောင်းပါးများ