PHP တွင် cli_get_process_title functitle functitle functitle functitle functitle functitle ကို Multi-process သို့မဟုတ် daemon ပတ်ဝန်းကျင်တွင်ကွဲပြားခြားနားသောဖြစ်စဉ်များကိုခွဲခြားရန်တည်ဆောက်သူများကိုလွယ်ကူချောမွေ့စေရန်အသုံးပြုသည်။ သို့သော် developer များစွာသည် cli_get_process_title_title outpitle outpitle outpitle outpitle outpitle code ကိုကြုံတွေ့ရလိမ့်မည်။ ဤဆောင်းပါးသည်ဤပြ problem နာ၏ဘ 0 အကြောင်းတရားများကိုအသေးစိတ်ခွဲခြမ်းစိတ်ဖြာပြီးလက်တွေ့ကျသောဖြေရှင်းနည်းများကိုဆန်းစစ်ပါလိမ့်မည်။
Cli_get_process_title သည် PHP မှလက်ရှိ command line (CLI) လုပ်ငန်းစဉ်၏ခေါင်းစဉ်သတင်းအချက်အလက်ရရှိသည်။ ၎င်းသည်လုပ်ငန်းစဉ်၏အမည်ကိုရယူရန်အခြေခံလည်ပတ်မှုစနစ်၏ interface ကိုမူတည်သည်။ ၎င်းကိုများသောအားဖြင့် Daemons သို့မဟုတ် Multi-process လုပ်ငန်းများကိုလွယ်ကူစွာစောင့်ကြည့်လေ့လာခြင်းနှင့်စီမံခန့်ခွဲမှုအတွက်အသုံးပြုသည်။
နမူနာကုဒ်:
<?php
$title = cli_get_process_title();
echo "လက်ရှိလုပ်ငန်းစဉ်ခေါင်းစဉ်မှာ: " . $title . "\n";
?>
Cli_get_processess_title output ကို garble code အတွက်အဓိကအကြောင်းရင်းများကိုအောက်ပါရှုထောင့်များတွင်အာရုံစိုက်ထားသည်။
Linux System အများစုသည် UTF-8 encoding ကိုပုံမှန်အားဖြင့်အသုံးပြုသည်။ ပုံမှန်အားဖြင့်အချို့သော terminals သို့မဟုတ် lc_all ကဲ့သို့သော terminals သို့မဟုတ် lc_all ကဲ့သို့သော system area areal variable များကိုမှားယွင်းစွာပြုပြင်မွမ်းမံခြင်း,
Cli_get_process_title functitle functitle funtitle ကို PHP 5.5 ကတည်းကထောက်ခံခဲ့ပေမယ့်မတူညီသောဗားရှင်းသို့မဟုတ်ကွဲပြားခြားနားသော PHP Sapis (CLI, FPM) သည်ဤလုပ်ဆောင်မှုအတွက်မတူညီသောအထောက်အပံ့များရှိသည်။
ခေါင်းစဉ်ကို Cli_set_set_process_title ကို အသုံးပြု. ကုဒ်နံပါတ်ကိုသတ်မှတ်ထားပါကခေါင်းစဉ်တပ်ထားသောခေါင်းစဉ်တွင်ပါ 0 င်ပြီး eni_et_process_title ကို မှန်ကန်စွာဖတ်ရှုခြင်းမဟုတ်ပါ။
တစ်ခါတစ်ရံတွင်ပြ problem နာသည် terminal display များသို့မဟုတ် log tools များ၌တည်ရှိသည်။ အချို့ဇာတ်ကောင်အစုံများကိုအသိအမှတ်ပြု။ မရပါ။
operating system နှင့် terminal ကိုအသုံးပြုမှုကိုပေါင်းစည်းခြင်းနှင့် UTF-8 encoding ကြောင်းသေချာပါစေ။
echo $LANG
# output ကိုအဖြစ်ဖြစ်သင့်သည် zh_CN.UTF-8
ITF-8 မဟုတ်လျှင် / etc / etc / default / locale သို့မဟုတ် ~ / ~ / .bashrc ရှိ settings ကိုသင်ပြုပြင်နိုင်သည်။
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
ခေါင်းစဉ်ကိုသတ်မှတ်သည့်အခါ string ကို UTF-8 encoding သို့ပြောင်းပါ။
<?php
$title = "ကျွန်ုပ်၏လုပ်ငန်းစဉ်ခေါင်းစဉ်";
cli_set_process_title(mb_convert_encoding($title, 'UTF-8', 'auto'));
?>
ascii အကွာအဝေးအတွင်းရှိအက္ခရာများကို encoding နှင့် parsing ၏ရှုပ်ထွေးမှုကိုလျှော့ချရန် titles အဖြစ်အသုံးပြုပါ။
အကယ်. Cli_get_process_title သည်မှန်ကန်စွာ output မလုပ်နိုင်ပါက PS command ကို အသုံးပြု. PS command ကို အသုံးပြု. လုပ်ငန်းစဉ်အမိန့်များမှတစ်ဆင့်လုပ်ငန်းစဉ်အမည်ကိုရယူရန်စဉ်းစားပါ။
ဥပမာ -
<?php
$pid = getmypid();
$cmd = "ps -p $pid -o comm=";
$processName = trim(shell_exec($cmd));
echo "လက်ရှိ process name:" . $processName . "\n";
?>
PHP ဗားရှင်းသည် cli_get_process_title functitle ကိုအထောက်အကူပြုကြောင်းအတည်ပြုပါ။ PHP 7X နှင့်အထက်အဆင့်မြှင့်တင်ရန်အကြံပြုသည်။ ထို့အပြင် operating ပတ်ဝန်းကျင်သည် Cli Sapi ဖြစ်ကြောင်းအတည်ပြုပါ။
cli_get_process_title_title outpiter garpitle cover code ကို encoding envice န်းကျင်နှင့်မမှန်ခေါင်းစဉ်ဆက်တင်များကြောင့်ဖြစ်သည်။ developer များကစနစ်ပတ် 0 န်းကျင်သည် UTF-8 encoding ဖြစ်သည်ကိုသေချာစေသင့်သည်။ လုပ်ငန်းစဉ်ခေါင်းစဉ်များသတ်မှတ်သည့်အခါမှန်ကန်သော encoding ကိုသုံးပါ။ ထို့အပြင်လုပ်ငန်းစဉ်သတင်းအချက်အလက်ရယူရန်အတွက်အထောက်အကူပြုရန် operating system commands များကိုအသုံးပြုခြင်းသည်အခြားရွေးချယ်စရာတစ်ခုဖြစ်သည်။
<?php
// လုပ်ငန်းစဉ်ခေါင်းစဉ်ကိုသတ်မှတ်ပါ(အဲဒါကိုသေချာအောင်သေချာအောင်လုပ်ပါUTF-8)
$title = "ကျွန်ုပ်၏လုပ်ငန်းစဉ်ခေါင်းစဉ်";
cli_set_process_title(mb_convert_encoding($title, 'UTF-8', 'auto'));
// လုပ်ငန်းစဉ်ခေါင်းစဉ်ကိုရယူပါ
$processTitle = cli_get_process_title();
echo "လက်ရှိလုပ်ငန်းစဉ်ခေါင်းစဉ်:" . $processTitle . "\n";
// လှျင်cli_get_process_titleအမှိုက်သရိုက်ကုဒ်,အစားစနစ် command များကိုသုံးပါ
$pid = getmypid();
$cmd = "ps -p $pid -o comm=";
$processName = trim(shell_exec($cmd));
echo "လက်ရှိ process name:" . $processName . "\n";
?>
PHP တရားဝင်စာရွက်စာတမ်းများ https://m66.net/manual/en/function.cli.cli.clition.cli-poContess-Title.cli.Chpp