рдпрд╣ рд▓реЗрдЦ "рдПрд░реНрд▓рд╛рдВрдЧ рдФрд░ рдкреАрдПрдЪрдкреА рдХреЛ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдЦреБрд╢реА рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдкрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ" рд╡рд┐рд╖рдп рдкрд░ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдФрд░ рдХрд▓реНрдкрдирд╛рдПрдВ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рддреИрдпрд╛рд░ рддрдХрдиреАрдХ рдпрд╛ рдЙрддреНрдкрд╛рдж рдХрд╛ рд╡рд┐рд╡рд░рдг рдирд╣реАрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдо рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддреЗ рд╣реИрдВ, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдПрдХ рдУрдкрди-рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ, рдЬрдм рддрдХ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдПрдХ рд╕рдореНрдорд╛рдирд┐рдд рджрд░реНрд╢рдХ рд╣рддреЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░реЗрдЧрд╛ :) рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕ рд▓реЗрдЦ рдХреЗ рдореБрдЦреНрдп рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╕рдордЭрдирд╛ рд╣реИ рдХрд┐ рд╡реНрдпрд╛рдкрдХ рдФрд░ рд╡реНрдпрд╛рдкрдХ рд╕рдореБрджрд╛рдп рдХрд┐рддрдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реИред ред рд╡реИрд╕реЗ, рд▓реЗрдЦ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдПрдВ рдЕрдиреНрдп рд▓реЛрдХрдкреНрд░рд┐рдп рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ (рдпрд╣рд╛рдВ рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рд░реВрдмреА рдФрд░ рдкрд╛рдпрдерди) рдХреЗ рд▓рд┐рдП рднреА рдорд╛рдиреНрдп рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рд╕рдВрднрд╡рддрдГ рдЙрдирдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реЛрдЧрд╛редрдкреНрд░рд╛рдЧрд┐рддрд┐рд╣рд╛рд╕
рдХреБрдЫ рдЙрджреНрджреЗрд╢реНрдп рдФрд░ рд╡реНрдпрдХреНрддрд┐рдкрд░рдХ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг, PHP рдХрд╛ рдЙрдкрдпреЛрдЧ
рдореЗрдЧрд╛рдкреНрд▓рд╛рди рдореЗрдВ рд╕рд░реНрд╡рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рднрд╛рд╖рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдордп рдХреЗ рд╕рд╛рде, рд╣рдо рдкреАрдПрдЪрдкреА рдХреА рдХреБрдЫ рд╕реАрдорд╛рдУрдВ рд╕реЗ рд╡рд┐рд╡рд╢ рдФрд░ рдкрд░реЗрд╢рд╛рди рд╣реЛрдиреЗ рд▓рдЧреЗ, рд╣рдо рдХреБрдЫ "рдЙрдиреНрдирдд" рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдпрд╛рдж рдХрд░рдиреЗ рд▓рдЧреЗ, рдЬреИрд╕реЗ: рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ, рд╡рд┐рд▓рдВрдмрд┐рдд рд╢реБрд░реБрдЖрдд, рд╕рдВрджреЗрд╢ рдХрддрд╛рд░реЗрдВ, рдЖрджрд┐ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдХрд╕реНрдЯрдо рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕реАрдорд┐рдд рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореЗрдЧрд╛рдкреНрд▓рд╛рди рди рдХреЗрд╡рд▓ рдПрдХ рд╕рд╛рд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИ, рдмрд▓реНрдХрд┐ рддреАрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдУрдПрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдмреЙрдХреНрд╕рд┐рдВрдЧ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЖрддрд╛ рд╣реИ: рд╕рд░реНрд╡рд░ рд╡рд┐рдВрдбреЛрдЬ, рд▓рд┐рдирдХреНрд╕ рдФрд░ рдлреНрд░реАрдмреАрдПрд╕рдбреАред рдПрдХ рдФрд░ рдХрд╕реНрдЯрдо рдШрдЯрдХ рдЬреЛрдбрд╝рдирд╛ (рднрд▓реЗ рд╣реА рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕рдорд╛рдзрд╛рди рдкрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛) рдмрдХреНрд╕реЗ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рд╕рдорд░реНрдерди рдХреЛ рдХрд╛рдлреА рдЬрдЯрд┐рд▓ рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдирдХ рдХреНрд░реЛрди рдХреА рдХрдореА рдХрд╖реНрдЯрдкреНрд░рдж рд╣реИред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, PHP рдХреЛ "рдкрдВрдк" рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдмреЗрд╢рдХ, рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдХрдЯреНрдЯрд░рдкрдВрдереА рд╕рдорд╛рдзрд╛рди рд╣реИ - рдЬрд╛рд╡рд╛ рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ - рдмрд╣реБрдд рд╕рд╛рд░реЗ рдирд╣реАрдВ-рдЦрд░рд╛рдм рдХреЛрдб рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреБрдЫ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЬреЗрд╡реАрдПрдо рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдзреВрдордХреЗрддреБ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рдВ, рдФрд░ PHP рд▓рд┐рдЦрдирд╛ рдмрд╣реБрдд рдЬрд▓реНрджреА рд╣реИ - рдпрд╣ рдЕрднреА рднреА рд╡реЗрдм рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рднрд╛рд╖рд╛ рд╣реИ (рдХрдо рд╕реЗ рдХрдо рд░реВрд╕ рдореЗрдВ), рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдвреВрдВрдврдирд╛ рдЖрд╕рд╛рди рд╣реИред
рдкрдХрдиреЗ рдХреА рдЬрд░реВрд░рдд рдФрд░ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдореИрдВрдиреЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдордп рдкрд░ рдЕрдкрдиреА рдЖрдВрдЦ рдХреЛ рдкрдХрдбрд╝рд╛ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрд░рд▓рдВрдЧ рдХреЛ рдкрд╕рдВрдж рдХрд┐рдпрд╛, рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ - рд╣рдорд╛рд░реЗ рдорд╛рдирдХ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдПрд░реНрд▓рд╛рдВрдЧ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдФрд░ рдЗрд╕ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рднрд╛рд╖рд╛ рдХреА рдЕрдиреВрдареА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рд╕рд╛рде PHP рдХреА рдЦрд╛рдорд┐рдпреЛрдВ рдХреА рднрд░рдкрд╛рдИ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ рдХрд┐ "рд╢реБрджреНрдз" PHP рдХреА рдорджрдж рд╕реЗ рдХреМрди рд╕реЗ рдХрд╛рд░реНрдп рдХрдард┐рди рд╣реИрдВ рдФрд░ рд╣рдо рдХрд┐рди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдпрд╛рдж рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдореИрдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред рдЗрд╕рд▓рд┐рдП ...
рд╕рдорд╕реНрдпрд╛рдУрдВ
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдЗрд╕ рддрдереНрдп рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рддрд╛ рд╣реВрдВ рдХрд┐ рдкреАрдПрдЪрдкреА рдореЗрдВ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдПрдХ рдмреЗрд╣рдж рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдмреИрд╕рд╛рдЦреА рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рддрд╣рдд рдЖрдкрдХреЛ рдХрд┐рд╕реА рдФрд░ рддрд░рд╣ рд╕реЗ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдмреИрд╕рд╛рдЦреА рд╕реНрдерд╛рдирд╛рдкрдиреНрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рднреА рдЙрддреНрд╕рд╛рд╣рдЬрдирдХ рдирд╣реАрдВ рд╣реИ рдХрд┐ PHP 5.3 рдореЗрдВ рдПрдХ
рд╕рд╛рдорд╛рдиреНрдп рдХрдЪрд░рд╛ рдХрд▓реЗрдХреНрдЯрд░ рд╣реИ ред
PhpDaemon , рдЬрд┐рд╕реЗ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкрд░рд┐рд╡рд╛рдж рд╕реЗ рдмрдВрдзрд╛ рд╣реБрдЖ рд╣реИ, рдордирд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рддрд╣рдд рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдлрд┐рд▓рд╣рд╛рд▓, рдХреЛрдИ рд╕рд╛рдорд╛рдиреНрдп рдореВрд▓ рдирд┐рд╡рд╛рд╕реА рдирд╣реАрдВ рд╣реИ рдФрд░, рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг, PHP рдкреНрд░реЛрдЧреНрд░рд╛рдореЛрдВ рдХреЛ "рдбрд┐рдорд╛рдЗрдЬ" рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рддрд░реАрдХрд╛ рд╣реИред рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдЖрдк
FastCGI рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рднреА рдЖрдкрдХреЛ рдЗрд╕ рдЕрд░реНрдерд╡реНрдпрд╡рд╕реНрдерд╛ рдкрд░ рдПрдХ рдбрд┐рд╕реНрдкреИрдЪрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЬреЛ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдЧрд╛ред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, PHP рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдЙрддреНрдкрд╛рджрди рдореЛрдб рдХреНрд▓рд╛рд╕рд┐рдХ FastCGI (рдпрд╛ рдпреВрдирд┐рдХреНрд╕ рдЬреИрд╕реА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рддрд╣рдд Apache + prefork + mod_php) рд╣реИред
рд▓рдЧрднрдЧ рд╕рднреА рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреА рдЬреЛ рдЗрд╕ рдкрд░рд┐рд╕реНрдерд┐рддрд┐ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВред
рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рд▓реЙрдиреНрдЪ
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдИ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдкреАрдПрдЪрдкреА рдореЗрдВ "рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб" рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд▓рд┐рдЦрд╛ рдерд╛, рджреЗрд░реА рд╕реЗ рд▓реЙрдиреНрдЪ рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ рдЗрд▓реЗрдХреНрдЯреНрд░рд┐рдХ рдореЗрд▓ рднреЗрдЬрдиреЗ рдХреЗ рд╕рдмрд╕реЗ рдкреНрд░рд╛рдердорд┐рдХ рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рдеред PHP рдореЗрдВ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП 2 рд╕рдорд╛рдзрд╛рди рд╣реИрдВ (рджреЛрдиреЛрдВ рдмрджрд╕реВрд░рдд):
- рдпрд╛ рдПрдХ рд╣реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдПрдХ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдореЛрдб рдореЗрдВ рд╕реАрдзреЗ рдПрдХ рдИрдореЗрд▓ рднреЗрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдФрд░ рдореЗрд▓ рд╕реЗрд╡рд╛ рдХреА рдордВрджреА рдФрд░ рджреБрд░реНрдЧрдорддрд╛ рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдЬреЛрдЦрд┐рдо рдЙрдард╛рдПрдВ,
- рдпрд╛ рдХрд╣реАрдВ рднреЗрдЬрдиреЗ рдХрд╛ рдХрд╛рдо рд▓рд┐рдЦ рджреЗрдВ рдФрд░ рдПрдХ рдмрд╛рд░ рдПрдХ рдорд┐рдирдЯ рдХреНрд░реЛрди рдкрд░ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЦреАрдВрдЪреЗрдВ рдЬреЛ рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕реНрдХреВрдк рдХрд░реЗрдЧрд╛ред
рдХреНрдпрд╛ рд╡рд╣ рдкрд░рд┐рдЪрд┐рдд рд╣реИ? рдЖрдк рд╢рд╛рдпрдж рдпрд╣ рддрд░реНрдХ рджреЗрдВрдЧреЗ рдХрд┐ рдЕрдиреНрдп рддрд░реАрдХреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡рд┐рдХреГрддрд┐: рдкреАрд╕реАрдПрдирдЯреАрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдирдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХрд╛рдВрдЯрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдореИрдВ рдЬрд╡рд╛рдм рджреВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдХрдо рд╕реЗ рдХрдо рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЖрдо рддреМрд░ рдкрд░ рд╣реИрдХ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред рдФрд░ рдореИрдВ рдПрдХ рд╕реБрдВрджрд░ рдФрд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╕рдорд╛рдзрд╛рди рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рдзреВрдордХреЗрддреБ
рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдорддрджрд╛рди, рд╡реЗрдмрд╕реЛрдХреЗрдЯ, рдЖрджрд┐ рдЬреИрд╕реА рд╕рднреА рдирдИ рд╕реНрд╡рд╛рджрд┐рд╖реНрдЯ рдЪреАрдЬреЗрдВ, рд╢реБрджреНрдз рдкреАрдПрдЪрдкреА рдореЗрдВ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдкреНрд░рддреНрдпреЗрдХ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА php-рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдХреАрдордд рдкрд░ред рдЧреНрд░рд╛рд╣рдХ рдХреЗ рдХрд┐рд╕реА рднреА рдЧрдВрднреАрд░ рд╕рдВрд╕рд╛рдзрди рдХреЗ рд▓рд┐рдП рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреЗ рд▓рдХреНрдЬрд░реА рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗред
рдореИрдВ рдкреАрдЫреЗ рдХреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рд╕реБрдирддрд╛ рд╣реВрдВ рдХрд┐ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдПрдХ рдЬреЛрдбрд╝реЗ рдХреЗ рд▓рд┐рдП рдЕрдкрд╛рдЪреЗ рдХреЗ рд╕рд╛рде рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб (рдХрд╛рд░реНрдпрдХрд░реНрддрд╛) mod_php рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЗрд╢рд╛рд░рд╛ рдХрд░рддрд╛ рд╣реИред рджреЛрд╕реНрддреЛрдВ, рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдереНрд░реЗрдб-рд╕реБрд░рдХреНрд╖рд┐рдд php рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ, рдпрд╣ рдЧрд▓рдд рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЧрдВрднреАрд░ рднрд╛рд░ рдкрд░ рднреА рдпрд╣ рдмрдЪрдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рдФрд░ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЧреНрд░рд╛рд╣рдХ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдШрдЯрдирд╛ рд╕реНрдерд╛рди рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЦреИрд░, рдЗрд╕ рдХрд╣рд╛рдиреА рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ: рд╕рд░реНрд╡рд░ рдПрдХ рдШрдЯрдирд╛ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ:
<?php
Event::publish( 'common.users.onlinecountchanged', array('count' => 10) );
?>
:
Event.subscribe( 'common.users.onlinecountchanged', function(data) {
$('#onlinecount').html(data.count);
} );
, web-jabber-, .
cron
Cron- PHP-, cron' :
. , , , ┬л cron' тАФ - ┬╗, , , PHP-.
,
- PHP-,
- ,
- PHP , ,
- cron, , PHP-.
(message queue)
тАФ . , , , . , ┬л ┬╗ .
, ,
.
, PHP , ,
Erlang.
Erlang?
- Erlang , . . .
- GPL- , .
- тАФ Comet'.
- Erlang' AMQP тАФ RabbitMQ.
- , , .
,
, PHP- CMS YAWS (
YAWS тАФ -, Erlang') PHP Erlang', тАФ , , , ! :)
, .

:
- Nginx , ┬лNginx тАФ , ?!┬╗. , , , , Erlang' , . .
- Mochiweb . -, Erlang', тАФ .
- FastCGI, PHP-, , , ┬л┬╗ AMQP (, ), тАФ , .
, .
тАФ RabbitMQ
тАФ , . ┬л ┬╗ , .
AMQP.
, . , :
. , PHP:
,
.
(pub-sub)
RabbitMQ pub-sub . , PHP , - . PHP (
PECL AMQP):
<?php
$cnn = new AMQPConnection();
$cnn->connect();
$ex = new AMQPExchange( $cnn );
$ex->declare( 'event-exchange', AMQP_EX_TYPE_TOPIC );
$ex->publish( 'message', 'some.object.event' );
?>
, - Erlang',
some.object.event
REST:
http://example.com/example-action
. Erlang, , ( -PHP, ):
amqp_declare_exchange( 'event-exchange', AMQP_EX_TYPE_TOPIC );
amqp_declare_queue( 'external-app-queue' );
amqp_bind( 'external-app-queue', 'event-exchange', 'some.object.*' );
amqp_subscribe( 'external-app-queue' );
while ( 1 )
{
$msg = receive_message();
file_get_contents( "http://example.com/example-action?msg=$msg" );
}
, PHP-
event-exchange
some.object.event
, ,
external-app-queue
,
some.object.event
, . , , Erlang-, , callback' ( тАФ REST- HTTP).
, :)
FastCGI
FastCGI- Erlang'? - . , php-fpm Windows, , , , , . - PHP, LAMP.
, , , .
- Comet
- Erlang' тАФ (long-polling) тАФ Erlang' . , comet -,
.
Comet , , Erlang-- -, long-polling , http- push- . :
- Javascript- , .
- Erlang-, RabbitMQ , . , , .
- PHP- RabbitMQ, comet-, .
- , . push-.
- callback push- .
- Push- ( long-polling).
, , , , : , . :
- HTTP-REST API. .
- PHP- ( Erlang'), ┬л┬╗ AMQP .
Cron
Erlang. , . , , . Erlang' , , , (. ), . , AMQP, REST API .
, cron', , , ( , - ), , PHP (, ), , , PHP-.
, :)
, , :
- - PHP.
- PHP .
- - real-time .
- Erlang'.
, :)
? Welcome!