PHP ကို အသုံးပြု. ပရိုဂရမ်းမင်းကွန်ယက်များသည် stream_set_seout_timeout သည်အလွန်အသုံးဝင်သောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ သို့သော်အချို့ဖြစ်ရပ်များတွင် developer များအနေဖြင့် Stream_set_sime_timeout_timeout via မှတစ်ဆင့်ကွန်ရက်စစ်ဆင်ရေးများကိုမျှော်လင့်ထားသည့်အချိန်၌အချိန်ကုန်ခံပြီးအချိန်ကုန်မနေပုံရသော်လည်း ဤဖြစ်စဉ်၏ဖြစ်ပျက်မှုသည် PHP တွင် default socket timeout setting နှင့်ဆက်စပ်သည်။
stream_set_seout_timeout function ကို (ဖိုင်, socket, စသည်တို့) ကိုချောင်းတစ်ခု၏အချိန်ကုန်ကိုသတ်မှတ်ရန်အသုံးပြုသည်။ ဤလုပ်ဆောင်မှုမှတစ်ဆင့် developer များကစီးဆင်းရန်အတွက်အများဆုံးစောင့်ဆိုင်းချိန်ကိုသတ်မှတ်နိုင်သည်။ ပုံမှန်အားဖြင့်အချိန်ကုန်သည်ဖတ်ရန်သို့မဟုတ်ရေးကူးစစ်ဆင်ရေးအတွက်ဖြစ်သည်။ အကယ်. စစ်ဆင်ရေးအချိန်ကုန်ချိန်အတွင်းစစ်ဆင်ရေးကိုမပြီးဆုံးပါက PHP သည်အချိန်ကုန်ယန္တရားကိုဖြစ်ပေါ်စေပြီး မှားယွင်းသော ပြန်လာလိမ့်မည်။
<span><span><span class="hljs-variable">$socket</span></span><span> = </span><span><span class="hljs-title function_ invoke__">stream_socket_client</span></span><span>(</span><span><span class="hljs-string">"tcp://example.com:80"</span></span><span>, </span><span><span class="hljs-variable">$errno</span></span><span>, </span><span><span class="hljs-variable">$errstr</span></span><span>, </span><span><span class="hljs-number">30</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-variable">$socket</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ဆက်သွယ်မှုမအောင်မြင်ပါ: <span class="hljs-subst">$errstr</span></span></span><span> (</span><span><span class="hljs-subst">$errno</span></span><span>)";
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-title function_ invoke__">stream_set_timeout</span></span><span>(</span><span><span class="hljs-variable">$socket</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>); </span><span><span class="hljs-comment">// အချိန်ကုန်အချိန်ကိုသတ်မှတ်ပါ 5 စက်ဏန့်</span></span><span>
</span><span><span class="hljs-comment">// နောက်ထပ်စစ်ဆင်ရေး</span></span><span>
}
</span></span>အထက်ပါကုဒ်တွင် stream_set_timeout ($ Socket, 5) သည် Socket Stream ၏ 5 စက္ကန့်အထိအချိန်ကုန်စေသည်။ အဓိပ္ပာယ်ကို 5 စက္ကန့်အတွင်းသက်တမ်းမဖတ်ပါသို့မဟုတ်ရေးကူးစစ်ဆင်ရေးကိုမလုပ်ဆောင်ပါက Stream သည်အချိန်ကုန်ဟုသတ်မှတ်လိမ့်မည်။
သို့သော် stream_set_timeout_timeout သည် ကုန်ချောင်းများ၏အချိန်ကုန်ချိန်ညှိခြင်းကိုသာပြုပြင်နိုင်သည် ။ Default_Socket_timeout သည် PHP configuration file တွင် parameter သည် Socket Operations အတွက် default timeout ကိုသတ်မှတ်ပေးသော php configuration file တစ်ခုတွင် parameter ဖြစ်သည်။ အချိန်ကုန်သည်အတိအလင်းမသတ်မှတ်ပါကဤပုံသေတန်ဖိုးကိုအသုံးပြုသည်။
<span><span><span class="hljs-comment">; php.ini ဖိုင်အတွက်ပုံမှန်တန်ဖိုး</span></span><span>
</span><span><span class="hljs-attr">default_socket_timeout</span></span><span> = </span><span><span class="hljs-number">60</span></span><span>
</span></span>အကယ်. သင်သည် default_socket_timeout ကို ပြုပြင်မထားပါကပုံမှန်တန်ဖိုးသည်စက္ကန့် 60 ဖြစ်သည်။ ဤကိစ္စတွင် PHP သည်သင် stream_set_timeout_timeout_timeout_timeout_timeout မှတစ်ဆင့် timeout လုပ်ထားသည့်တိုင် socket operations များကိုစီမံခန့်ခွဲရန်ဤကမ္ဘာလုံးဆိုင်ရာအချိန်ကိုအသုံးပြုလိမ့်မည်။ အကယ်. သတ်မှတ်ထားသောအချိန်အတွင်းစီးဆင်းမှုကိုမပြီးဆုံးပါက default_Socket_timeout သည် stream_set_simeout setting ကိုကျော်ဖြတ်နိုင်ပြီးပုံမှန်မဟုတ်သောပရိုဂရမ်အပြုအမူကိုဖြစ်ပေါ်စေသည်။
Stream_set_Timeout နှင့် default_socket_timeout ၏အချိန်ကုန်ခြင်းများအကြားရှိပ conflict ိပက်ခဖြစ်လိမ့်မည် ။ steam_set_sett_timeout ကို လွှင့်ချိန်ကိုလွှင့်ပစ်ရန်အသုံးပြုသည်။ ပုံမှန် socket timeout setting သည် Global ဖြစ်သည်။
အချို့ဖြစ်ရပ်များတွင် stream_set_timeout သည် stream ၏အချိန်ကုန်ကိုအောင်မြင်စွာပြုပြင်နိုင်ပြီး default_socket_sockout_set_set_timeout ထက် ပိုရှည်သည်။ Stream_set_simeout_TIOOT_SITION ကို ပြောင်းရွှေ့သောအခါ PHP သည်ကမ္ဘာလုံးဆိုင်ရာ configed configured time time ကိုသုံးနိုင်သည်။
ဤပ conflict ိပက် ခ ကိုရှောင်ရန်အကောင်းဆုံးနည်းမှာအကောင်းဆုံးနည်းမှာ default_socket_timeout_timeout_timeout_timeout settings များအကြားရှေ့နောက်ညီညွတ်မှုသေချာစေရန်ဖြစ်သည်။ အောက်ပါနည်းလမ်းများကိုသင်ယူနိုင်သည်။
Default_Socket_timeout Configurationation ကိုညှိပါ Default_Socket_Toot_timeout ကို php.ini configuration file တစ်ခုတွင်သေချာအောင်လုပ်ပါ ။ အကယ်. သင်တိုတောင်းသောအချိန်ကာလကိုသုံးလိုပါက PHPP.ini တွင်တန်ဖိုးကိုသေးငယ်သည့်တန်ဖိုးကိုသတ်မှတ်နိုင်သည်။
<span><span><span class="hljs-attr">default_socket_timeout</span></span><span> = </span><span><span class="hljs-number">5</span></span><span>
</span></span>အတိအလင်းအချိန်ကုန် set ကိုသတ်မှတ် သင် stream_socket_cletient () သို့မဟုတ်အခြားကွန်ယက် streaming လုပ်ငန်းများကိုအသုံးပြုသောအချိန်ကိုအတိအလင်း call team_set_set_cimeout () ကို အတိအလင်းခေါ်ဆိုပါ။
<span><span><span class="hljs-variable">$socket</span></span><span> = </span><span><span class="hljs-title function_ invoke__">stream_socket_client</span></span><span>(</span><span><span class="hljs-string">"tcp://example.com:80"</span></span><span>, </span><span><span class="hljs-variable">$errno</span></span><span>, </span><span><span class="hljs-variable">$errstr</span></span><span>, </span><span><span class="hljs-number">30</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-variable">$socket</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ဆက်သွယ်မှုမအောင်မြင်ပါ: <span class="hljs-subst">$errstr</span></span></span><span> (</span><span><span class="hljs-subst">$errno</span></span><span>)";
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-title function_ invoke__">stream_set_timeout</span></span><span>(</span><span><span class="hljs-variable">$socket</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>); </span><span><span class="hljs-comment">// အချိန်ကုန်သေချာအောင်လုပ်ပါ 5 စက်ဏန့်</span></span><span>
</span><span><span class="hljs-comment">// နောက်ထပ်စစ်ဆင်ရေး</span></span><span>
}
</span></span>Stream_context_create ကိုစမ်းပါ နောက်နည်းတစ်နည်းမှာ stream_context_create မှတဆင့် stream အခြေအနေကိုဖန်တီးရန်နှင့်အခြေအနေတွင်အချိန်ကုန်တစ်ခုသတ်မှတ်ရန်ဖြစ်သည်။ ၎င်းသည် Socket Poneout ကိုသာသတ်မှတ်ထားရုံသာမကအခြား stream-nelt-related configurations ကိုလည်းကိုင်တွယ်သည်။
<span><span><span class="hljs-variable">$context</span></span><span> = </span><span><span class="hljs-title function_ invoke__">stream_context_create</span></span><span>([
</span><span><span class="hljs-string">'socket'</span></span><span> => [
</span><span><span class="hljs-string">'timeout'</span></span><span> => </span><span><span class="hljs-number">5</span></span><span>
]
]);
</span><span><span class="hljs-variable">$socket</span></span><span> = </span><span><span class="hljs-title function_ invoke__">stream_socket_client</span></span><span>(</span><span><span class="hljs-string">"tcp://example.com:80"</span></span><span>, </span><span><span class="hljs-variable">$errno</span></span><span>, </span><span><span class="hljs-variable">$errstr</span></span><span>, </span><span><span class="hljs-number">30</span></span><span>, STREAM_CLIENT_CONNECT, </span><span><span class="hljs-variable">$context</span></span><span>);
</span></span>ဤနည်းလမ်းများမှတစ်ဆင့် Stream_set_Timeout မှသတ်မှတ်ထားသောအချိန်ကိုသင်သေချာစွာပမဖြန့်ချိနိုင်ပါ။
stream_set_timeout_timeout သည် PHP တွင်အချိန်ကုန်ဆုံးကိုသတ်မှတ်ရန်အားကောင်းသည့်လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ သို့သော်၎င်းကိုအသုံးပြုသောအခါ PHP ၏ default societ timeout setting ကိုအာရုံစိုက်ရန်လိုအပ်သည့်အခါစီးဆင်းမှု၏အချိန်ကာလကိုအကျိုးသက်ရောက်စေနိုင်သည့်အတွက်ကျွန်ုပ်တို့သည် Default Socket_TimeOutt_Timeout ) ကိုအာရုံစိုက်ရန်လိုအပ်သည်။ default_socket_timeout ကို configuration file ထဲရှိ orime ကိုချိန်ညှိခြင်းအားဖြင့်ကုဒ်နံပါတ်ထဲမှအတိအလင်းသတ်မှတ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ဤပ conflicts ိပက်ခများကိုရှောင်ရှားခြင်းအားဖြင့်ဤပ conflicts ိပက်ခများကိုရှောင်ရှားနိုင်ပြီးမျှော်လင့်ထားသည့်အချိန်ကုန်တွင်ကွန်ယက်စစ်ဆင်ရေးများကိုပြုလုပ်နိုင်သည်။