рдореИрдВ "рд╣рдмрд░" рдХреЗ рд╕рднреА рдкрд╛рдардХреЛрдВ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рдХрд░рддрд╛ рд╣реВрдВред
рддреНрдпрд╛рдЧ
рд▓реЗрдЦ рдХрд╛рдлреА рд▓рдВрдмрд╛ рдирд┐рдХрд▓рд╛ рдФрд░ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдкреГрд╖реНрдарднреВрдорд┐ рдХреЛ рдкрдврд╝рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕реАрдзреЗ рдмрд┐рдВрджреБ рдкрд░ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдореИрдВ рдЖрдкрдХреЛ рд╕реАрдзреЗ "рд╕рдорд╛рдзрд╛рди" рдЕрдзреНрдпрд╛рдп рд╕реЗ рдкреВрдЫрддрд╛ рд╣реВрдВред
рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдПрдХ рдЧреИрд░-рдорд╛рдирдХ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдЬреЛ рдореБрдЭреЗ рдХрд╛рд░реНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдерд╛ред рдЕрд░реНрдерд╛рддреН, рд╣рдореЗрдВ рдПрдХ рд▓реВрдк рдореЗрдВ php рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдореИрдВ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдРрд╕реЗ рд╡рд╛рд╕реНрддреБ рд╕рдорд╛рдзрд╛рди рдХреЗ рдХрд╛рд░рдгреЛрдВ рдФрд░ рд╡рд┐рд╡рд╛рдж рдкрд░ рдЪрд░реНрдЪрд╛ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВ рдерд╛, рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдХрд╛рд░реНрдп рдерд╛, рдЗрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдерд╛ рдФрд░ рд╕рдорд╛рдзрд╛рди рдореБрдЭреЗ рдЖрдкрдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рджрд┐рд▓рдЪрд╕реНрдк рд▓рдЧрд╛, рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕реЗ рдореИрдВрдиреЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдХреЛрдИ рднреА рдореИрдирд╛ рдирд╣реАрдВ рдкрд╛рдпрд╛ (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░)ред Speck, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдЕрдЪреНрдЫрд╛ рд╣реИ, рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рдм рдХреБрдЫ рдЙрди рдореЗрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рдмрд╛рдд рд╕реЗ рд╕рд╣рдордд рд╣реЛрдВрдЧреЗ рдХрд┐ рдпрджрд┐ рдЖрдк рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡рд┐рд╖рдп рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рд╕рдордп рдореЗрдВ рднреА рд╕реАрдорд┐рдд рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рд╕рдордЭрдирд╛ рдЕрднреА рднреА рдПрдХ рдЦреБрд╢реА рд╣реИред
рдпрд╣ рд▓реЗрдЦ рдХрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣реИ?
рд╣рд░ рдХреЛрдИ рдЬреЛ рд╡реЗрдм рдФрд░ FastCgi рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдпрд╣ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╣ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИ рдЬрд┐рд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╡реЗрдм рд╕рд░реНрд╡рд░ php рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЕрдзреНрдпрдпрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╣реБрдб рдХреЗ рдиреАрдЪреЗ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдФрдЪрд┐рддреНрдп (рдпрд╣ рд▓реЗрдЦ рдХреНрдпреЛрдВ)
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдКрдкрд░ рд▓рд┐рдЦрд╛ рдерд╛ рдЬрдм рд╣рдореЗрдВ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреА рднрд╛рдЧреАрджрд╛рд░реА рдХреЗ рдмрд┐рдирд╛ рдХрдИ php рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ (рд▓рдЧрднрдЧ рдХрд┐рд╕реА рдЕрдиреНрдп php рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдмреЛрд▓рдирд╛), рдкрд╣рд▓реА рдмрд╛рдд рдЬреЛ рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрдИ рдереА ...
shell_exec('php \path\to\script.php')
рд▓реЗрдХрд┐рди рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдПрдХ рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдПрдХ рдЕрд▓рдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХреА рдЬрд╛рдПрдЧреА, рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рддрд░рд╣ рдорд╣рдВрдЧрд╛ рд▓рдЧ рд░рд╣рд╛ рдерд╛ред рдпрд╣ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рджреВрд╕рд░реА рдмрд╛рдд рдЬреЛ рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрдИ , рд╡рд╣ php-fpm рдХреА рд╣реИ , рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рд╢реБрд░реВ рдХрд░рддреА рд╣реИ, рдореЗрдореЛрд░реА рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддреА рд╣реИ, рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд▓реЙрдЧ рдХрд░рддреА рд╣реИ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╢реБрд░реВ рдХрд░рддреА рд╣реИ рдФрд░ рдмрдВрдж рдХрд░ рджреЗрддреА рд╣реИ, рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рд╕рдм рдХреБрдЫ рд╢рд╛рдВрдд рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╣рдо рдЗрд╕ рддрд░рд╣ рд╕реЗ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ рдЕрдзрд┐рдХред
рд▓реЗрдХрд┐рди рдпрд╣ рджреБрд░реНрднрд╛рдЧреНрдп рд╣реИ, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рд╣рдо рдЬрд╛рдирддреЗ рдереЗ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд╕рд╛рдорд╛рдиреНрдп рд╢рдмреНрджреЛрдВ рдореЗрдВ (рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рд╕рд╛рдорд╛рдиреНрдп рдирд┐рдХрд▓рд╛), рд▓реЗрдХрд┐рди рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреА рднрд╛рдЧреАрджрд╛рд░реА рдХреЗ рдмрд┐рдирд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдЗрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдХрд╛рдлреА рдХрдард┐рди рд╣реЛ рдЧрдпрд╛ред рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рдХреБрдЫ рдШрдВрдЯреЛрдВ рдХреЗ рдЕрд╕рдлрд▓ рдкреНрд░рдпрд╛рд╕реЛрдВ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рд╕рдордп рд▓рдЧреЗрдЧрд╛, рдЬреЛ рдЙрд╕ рд╕рдордп рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд╣реАрдВ рдерд╛ред рдЗрд╕ рдЙрдкрдХреНрд░рдо рдХреЗ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдореИрдирд╛ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдмрд╛рддрдЪреАрдд рд╕рд░рд▓ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рд╣рдо рдХреЛрдИ рднреА рдпреБрдХреНрддрд┐ рдирд╣реАрдВ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ, рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рд╕рдорд╛рдзрд╛рдиреЛрдВ рд╕реЗ рд╣рдореЗрдВ рдЧрд┐рдердм рдкрд░ рдкрд╛рдпрдерди рд▓рд┐рдкрд┐ рдФрд░ рдкрд╛рдЗрдЦреЛрд╡ рдХрд╛ рджрд╛рдпрд┐рддреНрд╡ рдорд┐рд▓рд╛, рдЬреЛ рдЕрдВрдд рдореЗрдВ рд╡реЗ рдореБрдЭреЗ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдирд╣реАрдВ рдЦреАрдВрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ (рд╢рд╛рдпрдж рдпрд╣ рд╕рд╣реА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ, рд╣рдо рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рддреГрддреАрдп-рдкрдХреНрд╖ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рд╕реЗ рдкреНрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдмрд╣реБрдд рд▓реЛрдХрдкреНрд░рд┐рдп рднреА рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдордиреЗ рдордирд╛ рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдЕрдЪреНрдЫреЗ рдкреБрд░рд╛рдиреЗ рдЦрд░рдЧреЛрд╢ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдпрд╣ рд╕рдм рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред
рд╣рд╛рд▓рд╛рдБрдХрд┐ рд╕рдорд╕реНрдпрд╛ рдЖрдЦрд┐рд░рдХрд╛рд░ рд╣рд▓ рд╣реЛ рдЧрдИ, рдлрд┐рд░ рднреА рдореИрдВрдиреЗ FastCgi рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╕рдордЭрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬреЛ рдХрд┐ рдмрд╕ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдХрд░реЗрдЧрд╛ рдХрд┐ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рдмрд┐рдирд╛ php рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП php-fpm рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдпрд╛ рдпреЛрдВ рдХрд╣реЗрдВ рдХрд┐ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рдкрд╛рд╕ рдПрдХ рдЕрд▓рдЧ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реЛрдЧреА, рддрдм рдореИрдВ рдЗрд╕реЗ Fcgi рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╣реВрдВрдЧрд╛ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд▓реЗрдЦ рдЙрди рд▓реЛрдЧреЛрдВ рдХреА рдорджрдж рдХрд░реЗрдЧрд╛, рдЬрд┐рдирдХрд╛ рд╕рд╛рдордирд╛ рдЙрд╕реА рдХрд╛рд░реНрдп рд╕реЗ рд╣реЛрддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж рд╡рд╣ рдЕрдкрдиреА рдЬрд░реВрд░рдд рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЬрд▓реНрджреА рд╕реЗ рд╕рдм рдХреБрдЫ рд▓рд┐рдЦ рдкрд╛рдПрдВрдЧреЗред
рд░рдЪрдирд╛рддреНрдордХ рдЦреЛрдЬ (рдЧрд▓рдд рдкрде)
рддреЛ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдВрдХреЗрдд рдорд┐рд▓рддрд╛ рд╣реИ, рд╣рдореЗрдВ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдХрд┐рд╕реА рднреА "рд╕рд╛рдорд╛рдиреНрдп" рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреА рддрд░рд╣, рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣ рдХрд╣реАрдВ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдирд╛ рд╣реИ, рдореИрдВрдиреЗ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдирд╣реАрдВ рдкрдврд╝рд╛ рдФрд░ рдЕрдиреБрд╡рд╛рдж рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рддреБрд░рдВрдд рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ "рд╢рд╛рдирджрд╛рд░" рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рдЖрдпрд╛ред рдЗрд╕рдХрд╛ рд╕рд╛рд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИ, рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ nginx (рд╣рдо nginx рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рд▓рд┐рдП рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рдЪреАрдЬреЗрдВ рдЖрдЧреЗ рдирд╣реАрдВ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП - рдПрдХ рд╡реЗрдм рд╕рд░реНрд╡рд░, рдореИрдВ nginx рд▓рд┐рдЦреВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдзрд┐рдХ рд╕рд╣рд╛рдиреБрднреВрддрд┐ рд╣реИ) php-fpm рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдпрд╣ php-fpm рдХреЛ рднреА рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рддрд╛ рд╣реИ, рдареАрдХ рд╣реИ, рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рдореИрдВ рдЗрд╕реЗ рд▓реЗ рд▓реВрдВрдЧрд╛ рдФрд░ рдпрд╣ рдкреНрд░рддрд┐рдЬреНрдЮрд╛ рдХрд░реВрдВрдЧрд╛ рдХрд┐ nginx рдХреЛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдореИрдВ рдЙрд╕реА рдЪреАрдЬ рдХреЛ рдкрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред
рдЧреНрд░реЗрдЯ рдиреЗрдЯрдХреИрдЯ рдпрд╣рд╛рдВ рдорджрдж рдХрд░реЗрдЧрд╛ (рдиреЗрдЯрд╡рд░реНрдХ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпреВрдирд┐рдХреНрд╕-рдпреВрдЯрд┐рд▓рд┐рдЯреА, рдЬреЛ рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рд▓рдЧрднрдЧ рдХреБрдЫ рднреА рдХрд░ рд╕рдХрддрд╛ рд╣реИ)ред рдЗрд╕рд▓рд┐рдП рд╣рдо рд╕реНрдерд╛рдиреАрдп рдкреЛрд░реНрдЯ рдкрд░ рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдиреЗрдЯрдХреИрдЯ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╕реЙрдХреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ php рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП nginx рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ (рдмреЗрд╢рдХ, рдЙрд╕реА рдкреЛрд░реНрдЯ рдкрд░ рд╕реЙрдХреЗрдЯ рдХрд┐ netcat рд╕реБрдирддрд╛ рд╣реИ)
9000 рдкреЛрд░реНрдЯ рдХреЛ рд╕реБрди рд░рд╣рд╛ рд╣реИ
nc -l 9000
рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ, рдЖрдк рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрддрд╛ 127.0.0.1:9000 рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдирд┐рдореНрди рдЪрд┐рддреНрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

nginx рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдпрд╣ рдкреЛрд░реНрдЯ 9000 рдкрд░ рдПрдХ рд╕реЙрдХреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ php рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░реЗ (рд╕реЗрдЯрд┐рдВрдЧ '/ etc / nginx / sites-available / default' рдореЗрдВ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╡реЗ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ)
location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass 127.0.0.1:9000; }
рдЗрди рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХреЗ рдмрд╛рдж, рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ php рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдХреЗ рдХреНрдпрд╛ рд╣реБрдЖ

рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ nginx рдиреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░, рд╕рд╛рде рд╣реА рдЧреИрд░-рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╡рд░реНрдгреЛрдВ рдХреЛ рднреЗрдЬрд╛, рдЕрд░реНрдерд╛рдд, рдбреЗрдЯрд╛ рдХреЛ рдмрд╛рдЗрдирд░реА рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдореЗрдВ рдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЗрддрдиреА рдЖрд╕рд╛рдиреА рд╕реЗ рдХреЙрдкреА рдФрд░ php-fpm рд╕реЙрдХреЗрдЯ рдкрд░ рдирд╣реАрдВ рднреЗрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рддреЛ рд╡реЗ рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдореЗрдВ рд╕рд╣реЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рд▓рд╛рдЧреВ рд╣реЛрдЧрд╛

рд▓реЗрдХрд┐рди рдпрд╣ рднреА рд╣рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рд╢рд╛рдпрдж рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рд╡реЗ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдХрд┐рд╕реА рднреА рддрд░рд╣ (рдореИрдВ рднреА рдХрд▓реНрдкрдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛) рдЙрдиреНрд╣реЗрдВ fpm рд╕реЙрдХреЗрдЯ рдкрд░ рдХреИрд╕реЗ рднреЗрдЬрд╛ рдЬрд╛рдП, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рдореМрдХрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреВрд░реА рдмрд╛рдЗрдХ рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░реЗрдЧреА, рдФрд░ рдХрд┐рд╕реА рддрд░рд╣ рдХреА рд╢реБрд░реБрдЖрдд рднреА рдХрд░ рд╕рдХрддреА рд╣реИред рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рддрд░рд╣ рдпрд╣ рд╕рдм рдмрджрд╕реВрд░рдд рдФрд░ рдЕрдЬреАрдм рд╣реИред
рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рдпрд╣ рдорд╛рд░реНрдЧ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЧрд▓рдд рд╣реИ, рдЖрдк рдЦреБрдж рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╕рдм рдХрд┐рддрдирд╛ рджрдпрдиреАрдп рд▓рдЧ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдЗрд╕рд╕реЗ рднреА рдЕрдзрд┐рдХ, рдпреЗ рд╕рднреА рдХреНрд░рд┐рдпрд╛рдПрдВ рд╣рдореЗрдВ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрдВрдЧреА, рди рд╣реА рд╡реЗ рд╣рдореЗрдВ php-fpm рдФрд░ nginx рдХреЗ рдмреАрдЪ рдХреА рдмрд╛рддрдЪреАрдд рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рдХрд░реАрдм рд▓рд╛рдПрдВрдЧреЗ ред
рд╕рдм рдХреБрдЫ рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реИ, рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рд╕реЗ рдмрдЪрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ!
рд╕рдорд╛рдзрд╛рди (рдпрд╣рд╛рдВ рдЗрд╕ рд▓реЗрдЦ рдХреЗ рд╕рднреА рдирдордХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ)
рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдг
рдЖрдЗрдП рдЕрдм рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рдХреИрд╕реЗ рд╕рднреА рдПрдХ рд╣реА рддрд░рд╣ рдХреЗ рдХрдиреЗрдХреНрд╢рди рдФрд░ рдбреЗрдЯрд╛ рдПрдХреНрд╕рдЪреЗрдВрдЬ nginx рдФрд░ php-fpm рдХреЗ рдмреАрдЪ рд╣реИрдВред рдереЛрдбрд╝рд╛ рд╕рд┐рджреНрдзрд╛рдВрдд, рд╕рднреА рд╕рдВрдЪрд╛рд░ рд╣реЛрддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рд╕реЙрдХреЗрдЯреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдкрд╖реНрдЯ рд╣реИ, рд╣рдо рдЖрдЧреЗ рдЯреАрд╕реАрдкреА рд╕реЙрдХреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред
FastCgi рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреА рдЗрдХрд╛рдИ рдПрдХ cgi рд░рд┐рдХреЙрд░реНрдб рд╣реИ ред рд╕рд░реНрд╡рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдРрд╕реЗ рд░рд┐рдХреЙрд░реНрдб рднреЗрдЬрддрд╛ рд╣реИ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдареАрдХ рдЙрд╕реА рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред
рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдПрдХ рд╕рд╛ (рд╕рдВрд░рдЪрдирд╛)
рдЕрдЧрд▓рд╛, рд░рд┐рдХреЙрд░реНрдб рдХреА рд╕рдВрд░рдЪрдирд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд░рд┐рдХреЙрд░реНрдб рдореЗрдВ рдХреНрдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╕реА рд╕рдВрд░рдЪрдирд╛рдПрдВ рдХреНрдпрд╛ рд╣реИрдВ рдФрд░ рдЙрдирдХреЗ рдкрджрдирд╛рдореЛрдВ рдХреЛ рд╕рдордЭреЗрдВред рдЬреЛ рд▓реЛрдЧ рдЖрдЧреЗ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдЙрдирдХреЗ рд▓рд┐рдП рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ (рд▓реЗрдХрд┐рди рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд) рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдореИрдВ рдЗрд╕рдХрд╛ рдпрдерд╛рд╕рдВрднрд╡ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛, рдпрд╣рд╛рдБ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдЬрд╛рдирд╛ рд╡реНрдпрд░реНрде рд╣реИ, рдФрд░ рдореБрдЭреЗ рдбрд░ рд╣реИ рдХрд┐ рдореИрдВ рд╡рд┐рд╡рд░рдг рдореЗрдВ рднреНрд░рдорд┐рдд рд╣реЛ рдЬрд╛рдКрдВрдЧрд╛, рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдордЭ рд╣реИред
рд╕рдВрд░рдЪрдирд╛рдПрдВ рдХреЗрд╡рд▓ рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИ, рдФрд░ рдЙрдирдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрди рдЙрдиреНрд╣реЗрдВ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рд┐рд░реНрдл рд╢реВрдиреНрдп рдФрд░ рд▓реЛрдЧреЛрдВ рдХрд╛ рдПрдХ рдЕрдиреБрдХреНрд░рдо рд╣реИ, рдФрд░ рдЗрд╕ рдХреНрд░рдо рдореЗрдВ рдХреБрдЫ рдбреЗрдЯрд╛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕ рдЕрдиреБрдХреНрд░рдо рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдПрдиреЛрдЯреЗрд╢рди рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рдбреЗрдЯрд╛ рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдореВрд▓реНрдп рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдЙрдирдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред
// 1101111000000010010110000010011100010000
рдпрд╣рд╛рдБ рдХреНрдпрд╛ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣рд╛ рд╣реИ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдмрд┐рдЯреНрд╕ рд╣реИрдВ, рдХрд┐рд╕ рддрд░рд╣ рдХреЗ рдмрд┐рдЯреНрд╕ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реИрдВред рдЦреИрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдФрд░ рджрд╢рдорд▓рд╡ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ
// 5 11011110 00000010 01011000 00100111 00010000 // 222 2 88 39 16
рдЦреИрд░, рд╣рдордиреЗ рдЙрдирдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреА рдФрд░ рдХреБрдЫ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓реЗ, рдЖрдЗрдП рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдпреЗ рдбреЗрдЯрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЕрдкрд╛рд░реНрдЯрдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВ рдЬреЛ рдмрд┐рдЬрд▓реА рдХреЗ рд▓рд┐рдП рдмрдХрд╛рдпрд╛ рд╣реИред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдШрд░ рдореЗрдВ 222 рдЕрдкрд╛рд░реНрдЯрдореЗрдВрдЯ рдирдВрдмрд░ 2 рдореЗрдВ 88 рд░реВрдмрд▓ рдХрд╛ рднреБрдЧрддрд╛рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдФрд░ рджреЛ рдЕрдВрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдФрд░ рдХреНрдпрд╛ рд╣реИ, рдЙрдирдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ? рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ! рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рдВрдХреЗрддрди (рдкреНрд░рд╛рд░реВрдк) рдирд╣реАрдВ рдерд╛ рдЬреЛ рд╣рдореЗрдВ рдмрддрд╛рдПрдЧрд╛ рдХрд┐ рдбреЗрдЯрд╛ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреИрд╕реЗ рдХрд░реЗрдВ, рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреЗ рддрд░реАрдХреЗ рд╕реЗ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░реЗрдВ, рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ рд╣рдореЗрдВ рди рдХреЗрд╡рд▓ рдмреЗрдХрд╛рд░ рдорд┐рд▓рд╛, рдмрд▓реНрдХрд┐ рд╣рд╛рдирд┐рдХрд╛рд░рдХ рдкрд░рд┐рдгрд╛рдо рднреА рдорд┐рд▓реЗред рдирддреАрдЬрддрди, рдЕрдкрд╛рд░реНрдЯрдореЗрдВрдЯ 2 рдиреЗ рдмрд┐рд▓реНрдХреБрд▓ рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ рдЬреЛ рдЗрд╕рдХреЗ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред (рдЙрджрд╛рд╣рд░рдг рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рджреВрд░ рдХреА рдХреМрдбрд╝реА рд╣реИрдВ рдФрд░ рдХреЗрд╡рд▓ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдерд┐рддрд┐ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрд╡рд╛ рдХрд░рддреЗ рд╣реИрдВ)
рдЕрдм рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдиреЛрдЯреЗрд╢рди (рдкреНрд░рд╛рд░реВрдк) рд╣реЛрдиреЗ рдкрд░ рдЗрд╕ рдбреЗрдЯрд╛ рдХреА рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреИрд╕реЗ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдПрдХ рдХреБрджрд╛рд▓ рдПрдХ рдХреБрджрд╛рд▓, рдЕрд░реНрдерд╛рддреН рд╕рдВрдХреЗрддрди = рдкреНрд░рд╛рд░реВрдк ( рдпрд╣рд╛рдБ рдкреНрд░рд╛рд░реВрдк ) рдХрд╣реЗрдВрдЧреЗред
// "Cnn" // //C - (char) (8 ) //n - short (16 ) // 11011110 0000001001011000 0010011100010000 // 222 600 10000
рдЕрдм рд╕рдм рдХреБрдЫ рдШрд░ рдирдВрдмрд░ 222 рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдмрд┐рдЬрд▓реА рдХреЗ рд▓рд┐рдП рдЕрдкрд╛рд░реНрдЯрдореЗрдВрдЯ 600 1000 рд░реВрдмрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдм рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдорд╣рддреНрд╡ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рдФрд░ рдЕрдм рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд▓рдЧрднрдЧ рдПрдХ рд╕рдорд╛рди рд╕рдВрд░рдЪрдирд╛ рдХреИрд╕реА рджрд┐рдЦрддреА рд╣реИред (рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ, рдпрд╣рд╛рдБ рд▓рдХреНрд╖реНрдп рдЗрди рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдХреА рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдордЭ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП)
рдЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдкреНрд░рддреАрдХ рд╣реЛрдЧрд╛
struct { unsigned char houseNumber; unsigned char flatNumperA1; unsigned char flatNumperA2; unsigned char summB1; unsigned char summB2; }; // , // houseNumber - // flatNumperA1 && flatNumperA2 - // summB1 && summB2 -
рдХреБрдЫ рдФрд░ рд╕рд┐рджреНрдзрд╛рдВрдд (FastCgi рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ)
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдКрдкрд░ рдХрд╣рд╛, FastCgi рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреА рдЗрдХрд╛рдИ рд░рд┐рдХреЙрд░реНрдб рд╣реИред рд╕рд░реНрд╡рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд░рд┐рдХреЙрд░реНрдб рднреЗрдЬрддрд╛ рд╣реИ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╕рдорд╛рди рд░рд┐рдХреЙрд░реНрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдПрдХ рд░рд┐рдХреЙрд░реНрдб рдореЗрдВ рд╣реЗрдбрд░ рдФрд░ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рдХрд╛рдп рд╣реЛрддрд╛ рд╣реИред
рд╢реАрд░реНрд╖рд▓реЗрдЦ рд╕рдВрд░рдЪрдирд╛:
- рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕рдВрд╕реНрдХрд░рдг (рд╣рдореЗрд╢рд╛ 1) рдХреЛ 1 рдмрд╛рдЗрдЯ ('C') рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реВрдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
- рд░рд┐рдХреЙрд░реНрдб рдкреНрд░рдХрд╛рд░ред рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдиреЗрдХреНрд╢рди рдмрдВрдж рдХрд░реЗрдВ, рдЖрджрд┐ред рдореИрдВ рд╕рдм рдХреБрдЫ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдлрд┐рд░ рдореИрдВ рдХреЗрд╡рд▓ рдЙрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реВрдВрдЧрд╛ рдЬреЛ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЕрдЧрд░ рдЕрдиреНрдп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣рд╛рдВ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рдХрд░реЗрдВред рдпрд╣ 1 рдмрд╛рдЗрдЯ ('C') рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
- рдЕрдиреБрд░реЛрдз рдЖрдИрдбреА, рдПрдХ рдордирдорд╛рдирд╛ рд╕рдВрдЦреНрдпрд╛, 2 рдмрд╛рдЗрдЯреНрд╕ ('рдПрди') рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
- рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд╢рд░реАрд░ рдХреА рд▓рдВрдмрд╛рдИ (рдбреЗрдЯрд╛), 2 рдмрд╛рдЗрдЯреНрд╕ ('рдПрди') рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЧрд┐рдд
- рд╕рдВрд░реЗрдЦрдг рдбреЗрдЯрд╛ рдФрд░ рдЖрд░рдХреНрд╖рд┐рдд рдбреЗрдЯрд╛ рдХреА рд▓рдВрдмрд╛рдИ, рдПрдХ-рдПрдХ рдмрд╛рдЗрдЯ (рд╡рд┐рд╢реЗрд╖ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рддрд╛рдХрд┐ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореБрдЦреНрдп рдПрдХ рд╕реЗ рд╡рд┐рдЪрд▓рд┐рдд рди рд╣реЛ, рд╡рд╣рд╛рдБ рд╣рдореЗрд╢рд╛ 0 рд╣реЛрдЧрд╛)
рдЕрдЧрд▓рд╛ рд░рд┐рдХреЙрд░реНрдб рдХрд╛ рд╢рд░реАрд░ рд╣реИ:
- рдбреЗрдЯрд╛ рд╕реНрд╡рдпрдВ (рдпрд╣рд╛рдВ рдпрд╣ рдареАрдХ рд╡реИрд░рд┐рдПрдмрд▓ рд╣реИрдВ рдЬреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВ) рдХрд╛рдлреА рдмрдбрд╝рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (65535 рдмрд╛рдЗрдЯ рддрдХ)
рдпрд╣рд╛рдБ рдкреНрд░рд╛рд░реВрдк рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рд╕рд░рд▓ FastCgi рдмрд╛рдЗрдирд░реА рд░рд┐рдХреЙрд░реНрдб рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ
struct { // unsigned char version; unsigned char type; unsigned char idA1; unsigned char idA2; unsigned char bodyLengthB1; unsigned char bodyLengthB2; unsigned char paddingLength; unsigned char reserved; // unsigned char contentData; // 65535 unsigned char paddingData; };
рдЕрднреНрдпрд╛рд╕
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рдВрдЪрд╛рд░рдг рд╕реЙрдХреЗрдЯ
рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХреЗ рд▓рд┐рдП рд╣рдо рдорд╛рдирдХ php рд╕реЙрдХреЗрдЯ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдФрд░ рдкрд╣рд▓реА рдЪреАрдЬ рдЬреЛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╡рд╣ рд╣реИ рд╕реНрдерд╛рдиреАрдп рд╣реЛрд╕реНрдЯ рдкрд░ рдкреЛрд░реНрдЯ рдХреЛ рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП php-fpm рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП 9000ред рдРрд╕рд╛ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдлрд╛рдЗрд▓ '/etc/php/7.3/fpm/pool.d-concon' рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рд╡рд╣рд╛рдВ рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреА рддрд░рд╣ рдХреБрдЫ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдореИрдВ рдкреВрд░реЗ рдлреБрдЯрдХреНрд▓реЙрде рдХреЛ рд▓рд╛рддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдЖрдк рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░ рд╕рдХреЗрдВ, рдореБрдЦреНрдп рдЕрдиреБрднрд╛рдЧ рдпрд╣рд╛рдВ рд╕реБрдиреЗрдВ)
; The address on which to accept FastCGI requests. ; Valid syntaxes are: ; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on ; a specific port; ; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on ; a specific port; ; 'port' - to listen on a TCP socket to all addresses ; (IPv6 and IPv4-mapped) on a specific port; ; '/path/to/unix/socket' - to listen on a unix socket. ; Note: This value is mandatory. ;listen = /run/php/php7.3-fpm.sock listen = 127.0.0.1:9002
Fpm рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЕрдЧрд▓рд╛ рдЪрд░рдг рд╕реЙрдХреЗрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╣реИ
$service_port = 9000; $address = '127.0.0.1'; $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); $result = socket_connect($socket, $address, $service_port);
FCGI_BEGIN_REQUEST рдЕрдиреБрд░реЛрдз рдХреА рд╢реБрд░реБрдЖрдд
рдХрдиреЗрдХреНрд╢рди рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ FCGI_BEGIN_REQUEST = 1 рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рднреЗрдЬрдиреА рд╣реЛрдЧреАред рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХрд╛ рд╢реАрд░реНрд╖рдХ рдЗрд╕ рддрд░рд╣ рд╣реЛрдЧрд╛ (рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдорд╛рди рдХреЗ рд╕рд╛рде рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдорд╛рдиреЛрдВ рдХреЛ рдмрд╛рдЗрдирд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, php рдлрд╝рдВрдХреНрд╢рди рдкреИрдХ () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛)
socket_write($socket, pack('CCnnCx', 1, 1, 1, 8, 0));
рдХрдиреЗрдХреНрд╢рди рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдмреЙрдбреА рдореЗрдВ рдПрдХ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рднреВрдорд┐рдХрд╛ рдФрд░ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рдзреНрд╡рдЬ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
рдЗрд╕рд▓рд┐рдП, рдХрдиреЗрдХреНрд╢рди рдЦреЛрд▓рдиреЗ рдХрд╛ рд░рд┐рдХреЙрд░реНрдб рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рднреЗрдЬрд╛ рдЧрдпрд╛ рдерд╛, php-fpm рдЗрд╕реЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдЧрд╛ рдФрд░ рд╣рдорд╕реЗ рдПрдХ рдФрд░ рд░рд┐рдХреЙрд░реНрдб рдХреА рдЙрдореНрдореАрдж рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рд╣рдореЗрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдкрд╛рд╕рд┐рдВрдЧ рдкрд░реНрдпрд╛рд╡рд░рдг рдкреИрд░рд╛рдореАрдЯрд░ FCGI_PARAMS
рдЗрд╕ рд░рд┐рдХреЙрд░реНрдб рдореЗрдВ, рд╣рдо рдЙрди рд╕рднреА рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВ, рд╕рд╛рде рд╣реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдирд╛рдо рдЬрд┐рд╕реЗ рд╣рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рдиреНрдпреВрдирддрдо рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рд╕реЗрдЯрд┐рдВрдЧреНрд╕
$url = '/path/to/script.php' $env = [ 'REQUEST_METHOD' => 'GET', 'SCRIPT_FILENAME' => $url, ];
рдкрд╣рд▓реА рдЪреАрдЬ рдЬреЛ рд╣рдореЗрдВ рдпрд╣рд╛рдВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╡рд╣ рд╣реИ рдЖрд╡рд╢реНрдпрдХ рдЪрд░ рддреИрдпрд╛рд░ рдХрд░рдирд╛, рдпрд╛рдиреА рдирд╛рдо => рдореВрд▓реНрдп рдЬреЛрдбрд╝реЗ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдЖрд╡реЗрджрди рдореЗрдВ рдкрд╛рд╕ рдХрд░реЗрдВрдЧреЗред
рдЬреЛрдбрд╝реЗ рдирд╛рдо рдорд╛рди рдХреА рд╕рдВрд░рдЪрдирд╛ рдРрд╕реА рд╣реЛрдЧреА
// 128 typedef struct { unsigned char nameLength; unsigned char valueLength; unsigned char nameData unsigned char valueData; }; // 1
рдкрд╣рд▓реЗ 1 рдмрд╛рдЗрдЯ рд╣реИ - рдирд╛рдо рд▓рдВрдмрд╛ рд╣реИ, рдлрд┐рд░ 1 рдмрд╛рдЗрдЯ рдХрд╛ рдореВрд▓реНрдп рд╣реИ
// 128 typedef struct { unsigned char nameLengthA1; unsigned char nameLengthA2; unsigned char nameLengthA3; unsigned char nameLengthA4; unsigned char valueLengthB1; unsigned char valueLengthB2; unsigned char valueLengthB3; unsigned char valueLengthB4; unsigned char nameData unsigned char valueData; }; // 4
рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдирд╛рдо рдФрд░ рдЕрд░реНрде рджреЛрдиреЛрдВ рд╣реА рдЫреЛрдЯреЗ рд╣реИрдВ рдФрд░ рдкрд╣рд▓рд╛ рд╡рд┐рдХрд▓реНрдк рдлрд┐рдЯ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред
рдкреНрд░рд╛рд░реВрдк рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╣рдорд╛рд░реЗ рдЪрд░ рдХреЛ рдПрдирдХреЛрдб рдХрд░реЗрдВ
$keyValueFcgiString = ''; foreach ($env as $key => $value) {
рдпрд╣рд╛рдВ 128 рдмрд┐рдЯреНрд╕ рд╕реЗ рдХрдо рдХреЗ рдорд╛рди рдХреЛ chr ($ keyLen) рдлрд╝рдВрдХреНрд╢рди, рдкреИрдХ ('N', $ valLen) рд╕реЗ рдЕрдзрд┐рдХ рд╕реЗ рдПрдиреНрдХреЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд╣рд╛рдБ 'N' рдХрд╛ рдЕрд░реНрде 4 рдмрд╛рдЗрдЯреНрд╕ рд╣реИред рдФрд░ рдлрд┐рд░ рдпрд╣ рд╕рдм рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдкреНрд░рд╛рд░реВрдк рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдПрдХ рд╕рд╛рде рдЕрдЯрдХ рдЬрд╛рддрд╛ рд╣реИред рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХрд╛ рд╢рд░реАрд░ рддреИрдпрд╛рд░ рд╣реИред
рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд╣реЗрдбрд░ рдореЗрдВ, рд╣рдо рдкрд┐рдЫрд▓реЗ рд░рд┐рдХреЙрд░реНрдб рдХреА рддрд░рд╣ рд╣реА рд╕рдм рдХреБрдЫ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рддреЗ рд╣реИрдВ, рдХреЗрд╡рд▓ рдЯрд╛рдЗрдк рдХреЛ рдЫреЛрдбрд╝рдХрд░ (рдпрд╣ FCGI_PARAMS = 4 рд╣реЛрдЧрд╛) рдФрд░ рдбреЗрдЯрд╛ рд▓рдВрдмрд╛рдИ (рдпрд╣ рдирд╛рдо рдХреА рд▓рдВрдмрд╛рдИ = = рд╡реИрд▓реНрдпреВ рдкреЗрдпрд░, рдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд▓рдВрдмрд╛рдИ $ keyValueFcgiString рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдЧреА рдЬреЛ рд╣рдордиреЗ рдкрд╣рд▓реЗ рдмрдирд╛рдИ рдереА)ред
FCGI_PARAMS рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдорд┐рд▓ рд░рд╣реА рд╣реИ
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдкрд┐рдЫрд▓реЗ рд╕рднреА рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдФрд░ рдЬреЛ рдХреБрдЫ рднреА рдпрд╣ рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рднреЗрдЬрд╛ рдЧрдпрд╛ рд╣реИ, рд╡рд╣ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ рдФрд░ рд╣рдо рдХреЗрд╡рд▓ рд╕реЙрдХреЗрдЯ рд╕реЗ рдЗрд╕ рдХрд╛рдо рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдЬрд╡рд╛рдм рдореЗрдВ рд╣рдореЗрдВ рд╡рд╣реА рдиреЛрдЯ рдорд┐рд▓рддреЗ рд╣реИрдВ рдФрд░ рд╣рдореЗрдВ рдЙрдирдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рднреА рдХрд░рдиреА рд╣реЛрдЧреАред
рд╣рдо рд╢реАрд░реНрд╖ рд▓реЗрдЦ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рд╣рдореЗрд╢рд╛ 8 рдмрд╛рдЗрдЯреНрд╕ рд╣реЛрддрд╛ рд╣реИ (рд╣рдо рдмрд╛рдЗрдЯ рджреНрд╡рд╛рд░рд╛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ)
$buf = ''; $arrData = []; $len = 8; while ($len) { socket_recv($socket, $buf, 1, MSG_WAITALL);
рдЕрдм, рдкреНрд░рд╛рдкреНрдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╢рд░реАрд░ рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╣рдо рд╕реЙрдХреЗрдЯ рд╕реЗ рдПрдХ рдФрд░ рд░реАрдбрд┐рдВрдЧ рдХрд░реЗрдВрдЧреЗ
$buf2 = ''; $result = []; while ($dataLen) { socket_recv($socket, $buf2, 1, MSG_WAITALL); $result[] = $buf2; $dataLen--; } var_dump(implode('', $result));
рд╣реБрд░реНрд░реЗ рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛! рдЕрдВрдд рдореЗрдВ рд╡рд╣!
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЙрддреНрддрд░ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ, рдпрджрд┐ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП
$url = '/path/to/script.php'
рд╣рдо рд▓рд┐рдЦреЗрдВрдЧреЗ
<?php echo "My fcgi script";
рддреЛ рдЬрд╡рд╛рдм рдореЗрдВ рд╣рдо рдПрдХ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ

рдкрд░рд┐рдгрд╛рдо
рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдмрд╣реБрдд рдХреБрдЫ рдирд╣реАрдВ рд▓рд┐рдЦрд╛, рдЗрд╕рд▓рд┐рдП рд▓рдВрдмрд╛ рд▓реЗрдЦ рдирд┐рдХрд▓рд╛ред рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░реЗрдЧреАред рдФрд░ рдореИрдВ рдЕрдВрддрд┐рдо рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЦреБрдж рджреВрдВрдЧрд╛, рдпрд╣ рдХрд╛рдлреА рдЫреЛрдЯрд╛ рдирд┐рдХрд▓рд╛ред рдмреЗрд╢рдХ, рд╡рд╣ рдЗрд╕ рд░реВрдк рдореЗрдВ рдХрд╛рдлреА рдХреБрдЫ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЙрд╕рдХреЗ рдкрд╛рд╕ рддреНрд░реБрдЯрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдФрд░ рдпрд╣ рд╕рдм рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрд╕реЗ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЙрд╕реЗ рдореВрд▓ рдмрд╛рддреЗрдВ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЙрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдкреВрд░реНрдг рд╕рдВрд╕реНрдХрд░рдг <?php $url = '/path/to/script.php'; $env = [ 'REQUEST_METHOD' => 'GET', 'SCRIPT_FILENAME' => $url, ]; $service_port = 9000; $address = '127.0.0.1'; $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); $result = socket_connect($socket, $address, $service_port);