PHP ပရိုဂရမ်တွင်တစ်ခါတစ်ရံကျွန်ုပ်တို့သည်အခြားပရိုဂရမ်များသို့မဟုတ်ပရိုဂရမ်များလုပ်ဆောင်ရန်အခြားပရိုဂရမ်ဘာသာစကားများမှ scripts များနှင့်အပြန်အလှန်ဆက်သွယ်ရန်လိုအပ်သည်။ PHP သည်ဤလိုအပ်ချက်ကိုရရှိရန်အတွက်လုပ်ဆောင်ချက်များစွာပါ 0 င်သည် ။ Passthru () မှတစ်ဆင့်ကျွန်ုပ်တို့သည်ပတ္တမြားနှင့် perl ကဲ့သို့သောအခြားပရိုဂရမ်ဘာသာစကားများမှ scripts များကိုတိုက်ရိုက်ခေါ်ဆိုနိုင်ပြီး PHP စာမျက်နှာသို့ထုတ်ကုန်များကိုဖြတ်သန်းသွားနိုင်သည်။
PASSTHRU () သည် PHP တွင် function တစ်ခုဖြစ်ပြီးပြင်ပပရိုဂရမ်များနှင့်ရလဒ်များရလဒ်များကိုလုပ်ဆောင်သည်။ ၎င်းသည် EUTE () နှင့် shell_exec ကဲ့သို့သော command များကို execute လုပ်သည့်အခြားလုပ်ဆောင်ချက်များနှင့်ကွဲပြားခြားနားသည်။ Passthru () အထူးသဖြင့် Binary သို့မဟုတ် Data streams များကိုအထူးပုံစံများနှင့်အထူးပုံစံများဖြင့်ပြုလုပ်သောအခြေအနေများကိုကိုင်တွယ်ရန်အထူးသဖြင့်သင့်လျော်သည်။
ကျွန်ုပ်တို့ တွင် ရိုးရှင်းသောပတ္တမြားဇာတ်လမ်းတစ်ပုဒ်ရှိပြီး perl script တစ်ခုရှိသည်ဆိုပါစို့။ စာသားအချို့ကိုထုတ်ပေးသည်။
ဥပမာ - Rubb လို့ခေါ်တဲ့ပတ္တမြားဇာတ်ညွှန်းရှိတယ်ဆိုပါစို့။
# example.rb
puts "Hello from Ruby!"
ကျွန်ုပ်တို့သည်ဤ script ကို Passthru () မှတဆင့်လုပ်ဆောင်နိုင်ပြီး output ကိုရယူပါ။
<?php
$command = "ruby example.rb";
passthru($command);
?>
အထက်ပါကုဒ်တွင် Passthru () သည် ပတ္တမြား script.rb ကို execute လုပ်ပြီး၎င်း၏ output ကို browser သို့ဖြတ်သန်းသွားသည်။ output ကိုဖြစ်လိမ့်မည်:
Hello from Ruby!
အလားတူစွာ, ဥပမာ - ဥပမာ content.pl , perl.pl script တစ်ခုရှိတယ်ဆိုပါစို့။
# example.pl
print "Hello from Perl!\n";
Perlhru () ကိုသုံးနိုင်သည်။
<?php
$command = "perl example.pl";
passthru($command);
?>
ဤကုဒ်သည် Perl script.pl နှင့် output ကိုပြသပြီး browser ကိုပြသသည်။
Hello from Perl!
Command Path : PHP တည်ရှိရာဝန်းကျင်တွင်သင်မှန်ကန်စွာ execute လုပ်လိုသည့်ပတ္တမြားသို့မဟုတ် Perl executable file ကိုသေချာအောင်လုပ်ပါ။ command ကိုရှေ့ဆက်လမ်းကြောင်းအပြည့်ထည့်ခြင်းအားဖြင့်လမ်းကြောင်းပြ issues နာများကိုရှောင်ရှားနိုင်သည်။ ဥပမာအားဖြင့်:
$command = "/usr/bin/ruby example.rb";
passthru($command);
ခွင့်ပြုချက်ပြ issue နာ - ပြင်ပ scripts တွေကိုကွပ်မျက်တဲ့အခါ PHP မှာဒီပညတ်တွေကိုကွပ်မျက်ဖို့အတွက် PHP မှာလုံလောက်တဲ့ခွင့်ပြုချက်ရှိတယ်ဆိုတာသေချာအောင်လုပ်ပါ။ အချို့သောစနစ်ဝန်းကျင်များအတွက် PHP (သို့) ဝဘ်ဆာဗာ၏ခွင့်ပြုချက်ကိုညှိရန်လိုအပ်သည်။
Security - Passthru () ကဲ့သို့သောလုပ်ဆောင်ချက်များကိုအသုံးပြုသောအခါ, အသုံးပြုသူမှပေးသော input ကိုပြင်ပ command များသို့ကူးပြောင်းပါကတင်းကျပ်စွာစစ်ဆေးခြင်းနှင့်စီစစ်ခြင်းများပြုလုပ်ရန်အကောင်းဆုံးဖြစ်သည်။
စွမ်းဆောင်ရည်ပြ issues နာများ - ပြင်ပ scripts များသို့မကြာခဏခေါ်ဆိုခြင်းသည်စွမ်းဆောင်ရည်ကိုအကျိုးသက်ရောက်နိုင်သည်။ အထူးသဖြင့်ပြင်ပ scripts များ၏ကွပ်မျက်မှုအချိန်ကြာမြင့်လာသောအခါ PHP ပရိုဂရမ်များ၏တုန့်ပြန်မှုအချိန်၌နှောင့်နှေးစေနိုင်သည်။ ပြင်ပစာလုံးများသို့မဟုတ်ပြင်ပ scripts ၏အရေးယူမှုများသို့မဟုတ်ကျောက်စာများကိုနောက်ခံတွင်ထည့်သွင်းစဉ်းစားနိုင်သည်။
တစ်ခါတစ်ရံ PHP output များကိုကုဒ်နံပါတ်များတွင်ပြင်ပ URLs များပါ 0 င်နိုင်သည်။ ပြင်ပ URL ကို Ruby သို့မဟုတ် Perl scripts များတွင်လိုအပ်ကြောင်းယူဆရခြင်းသည် M66.net နှင့်အတူ M66.net နှင့်အစားထိုးနိုင်သည်။ ဥပမာအားဖြင့်:
# example.rb
url = "http://www.m66.net/path/to/resource"
puts "Accessing URL: #{url}"
ဤကိစ္စတွင်ပတ္တမြား script ထဲတွင်ဝင်ရောက်ထားသော URL ကို M66.net နှင့်အစားထိုးသည်။
<?php
$command = "ruby example.rb";
passthru($command);
?>
Passthru () function မှတဆင့် PHP သည်ပတ္တမြားနှင့် Perl ကဲ့သို့သောအခြားပရိုဂရမ်ဘာသာစကားများမှ scripts များကိုအလွယ်တကူခေါ်ဆိုနိုင်ပြီး၎င်းတို့၏ output ကို browser သို့ပြသနိုင်သည်။ ၎င်းကိုအသုံးပြုသောအခါပြင်ပ command များမှန်ကန်မှုရှိစေရန်သေချာစေရန်သင်ကွပ်မျက်ခွင့်ပြုချက်များသည်လုံလောက်သည်, လုံခြုံရေးအန္တရာယ်များကိုရှောင်ရှားရန်သင်သတိထားရမည်။