рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрд┐рддрд╛

рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛


рд╢рд╛рдпрдж рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдФрд░ рд▓реЗрдЦ рд╣реИ рдХрд┐ рдХреИрд╕реЗ PHP рдХрдВрд╕реЛрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдВрдЯрд╛ () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдХрд╛рдВрдЯрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдлрд╕реЛрд╕, рди рддреЛ рдХрдВрд╕реЛрд▓ рдФрд░ рди рд╣реА pcntl_fork () рдпрд╣рд╛рдВ рд╣реЛрдЧрд╛ - рдХреЗрд╡рд▓ PHP рдХреЗ рд╕рд╛рде рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдФрд░ рд╕рд░реНрд╡рд░ред

рдореИрдВрдиреЗ рдпрд╣ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд▓рд┐рдЦреА (рдЪрд▓реЛ рдЗрд╕реЗ рдХрд╣рддреЗ рд╣реИрдВ) рдХреЛрдбрд╝рд╛ рдорд╛рд░ рджрд┐рдпрд╛ (рдореИрдВ рдЪрд░ рдХреЗ рдирд╛рдо рдХреЗ рд▓рд┐рдП рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдорд╛рдлреА рдЪрд╛рд╣рддрд╛ рд╣реВрдВ), рдореЗрд░реА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП, рдФрд░ рд╕рднреА рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдХреБрдЫ рднреА рд╕рдорд╛рди рдирд╣реАрдВ рдорд┐рд▓рд╛ред
рдЗрд╕ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЕрд░реНрде рдПрдХ рд╣реА рд╣реИ - рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдкреВрд░реЗ рджрд┐рди рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдЧреА (рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ)ред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдЖрдк рдЗрд╕реЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдо рдХрдИ рдмрд╛рд░ рдПрдХ рд╕рд╛рде рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдкрд░реНрдЪреА рдХрд░реЗрдВрдЧреЗ (рдЗрдирдореЗрдВ рд╕реЗ рдХрдИ рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА, рдореИрдВ рджреЛрд╣рд░рд╛рддрд╛ рд╣реВрдВ):

"рдПрдХ рдлрд╝рд╛рдЗрд▓" рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдХрдИ рдФрд░ рдиреБрдХрд╕рд╛рди рд╣реИрдВ, рд▓реЗрдХрд┐рди рд▓реЗрдЦ рдЙрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИред

рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╡рд┐рд╡рд░рдг


рдХрдВрд╕реЛрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, pcntl_fork ()

рдЬрдм рдореИрдВрдиреЗ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд▓рд┐рдЦреА, рддреЛ рдореБрдЭреЗ рдЙрдореНрдореАрдж рдереА рдХрд┐ рдореБрдЭреЗ рдЗрд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рдХрдВрд╕реЛрд▓ (рд╕рд╢реБрд▓реНрдХ / рдирд┐рд╢реБрд▓реНрдХ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣рдореЗрд╢рд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЬрдм PHP рдХреЛ рдЕрдкрд╛рдЪреЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, pcntl_fork) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреБрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред

рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд

рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдИ / рд╕рдВрдкрд╛рджрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ
рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрдкрдХреЛ рдлреЛрди / рдЯреИрдмрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдпрд╛ рд╕рд░реНрд╡рд░ рддрдХ рдПрдлрд╝рдЯреАрдкреА рдПрдХреНрд╕реЗрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдЕрджреНрднреБрдд рдРрд╕ рд╕рдВрдкрд╛рджрдХ (ajax.org) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд░рди
рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ "рдпреИрдВрдХ" рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХреНрд▓рд╛рд╕ рдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдПрдХ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред рдПрдХ рдирдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реНрдкреЙрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рдзрд┐ред

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рдЧрддрд┐
рд╣рдо рдЙрди рд╕рднреА рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреА рд╣реИред
рдХрдВрд╕реЛрд▓ рдореЗрдВ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдХрд╛рдордЪрд▓рд╛рдК), рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛
$PDT->display("", ""); 
рдЙрд╕рдХреЗ рдмрд╛рдж, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдХрдВрд╕реЛрд▓ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХрдВрд╕реЛрд▓ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рдорд╛рд░реЗ рд╕рдВрджреЗрд╢ (рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдВрдмрд╛ рд╕рдордп, рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ, рддреЛ рдореИрдВ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реВрдВ)ред

рдпрджрд┐ рдЖрдк рдмрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдПрдХ рдЕрдирдВрдд рд▓реВрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ рдХреЗрд╡рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд░реЛрдХрдХрд░ рд░реЛрдХ рд╕рдХрддреЗ рд╣реИрдВ (рдЬреЛ рд╣рдо PHP рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рдордп-рд╕рдордп рдкрд░ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реИ
 $PDT->running(); 
рдЬрдм рдЖрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдЧрд▓рдд рд╣реИред

рдпрджрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ "рд╡рд╛рдпрд░рдЯреИрдк" рдХреБрдЫ (рдХреБрдЫ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрдиреЗ рддрдХ рдПрдХ рдЕрдВрддрд╣реАрди рд▓реВрдк) рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдореЗрдВ рдХреЛрдИ рджреЗрд░реА рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рддреБрд░рдВрдд рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рдиреЗрддреНрд░рдЧреЛрд▓рдХ рдХреЛ рд▓реЛрдб рдХрд░реЗрдЧрд╛ред рдЗрд╕рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
 $PDT->wait(1000); 
рдЬреЛ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдореЗрдВ рдПрдХ рдард╣рд░рд╛рд╡ рдЬреЛрдбрд╝рддрд╛ рд╣реИ (рдПрдордПрд╕, рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, 1 рд╕реЗрдХрдВрдб рдХреЗ рдмрд░рд╛рдмрд░) рдФрд░ "рд╕реНрд▓реАрдк / рд╡реЗрдЯрд┐рдВрдЧ" рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред

рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рджреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдФрд░ рдЕрдзрд┐рдХ) рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреА рд╣реИрдВред рдбреЗрдЯрд╛ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдХреЗ рд▓рд┐рдП рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдкрд╣рд▓реЗ) рдХреЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ
 $PDT->write('', ''); 
рдФрд░ рджреВрд╕рд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ (рд╕реЗрдХрдВрдб), рдЬрд┐рд╕рдиреЗ рдкрд╣рд▓реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА "рдореЗрдореЛрд░реА" рд╕реБрдиреА, рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рджреЗрдЦрд╛
 $var = $PDT->read('first.'); 
рдФрд░ рдХреБрдЫ рдмрджрд▓рд╛
 $PDT->write('first.', ' '); 

(рдпрд╣ рдЙрджрд╛рд╣рд░рдг GitHub рдкрд░ рд▓рд┐рдкрд┐рдпреЛрдВ рдореЗрдВ рд╣реИ)

рдХрдВрд╕реЛрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рд╕реБрдирдирд╛ рдЪрд╛рд╣рд┐рдП
 $input = $PDT->input(); 


рдЯрд┐рдкреНрдкрдгреА


рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЛ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЗ рдмрд┐рдирд╛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рдореИрдВрдиреЗ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдЗрд╕ рд╕реЛрдЪ рдХреЗ рдХрд╛рд░рдг рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдХрд┐ рдХреЛрдИ рдХрд╛рдо рдЖ рд╕рдХрддрд╛ рд╣реИред

рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╕реЗ рд▓рд┐рдВрдХ (GitHub):
github.com/prineside/PDT

рдпрд╣ рд╕рднреА рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреЛ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЫреЛрдбрд╝рдиреЗ рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред

Source: https://habr.com/ru/post/In179285/


All Articles