рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ рдХрд┐ рд╣рдордиреЗ рдПрдХ рдкрд░реАрдХреНрд╖рдг рд╕рд░реНрд╡рд░ рдкрд░ Xdebug рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЫреЛрдЯреА рд╕реА рд╡рд┐рдХрд╛рд╕ рдЯреАрдо рдореЗрдВ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреА рд╕реНрдерд╛рдиреАрдп рдкреНрд░рддрд┐рдпрд╛рдВ рдмрдврд╝рд╛рдП рдмрд┐рдирд╛ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдпреБрджреНрдз рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рдмрд┐рдирд╛ рд╕рд╛рдЗрдЯ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХреИрд╕реЗ рдХрд┐рдпрд╛ред

рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреА рд╕реНрдерд╛рдиреАрдп рдкреНрд░рддрд┐ рди рдмрдврд╝рд╛рдиреЗ рдХреЗ рдХрд╛рд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛:- рдпрджрд┐ рдЖрдк рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рддрд╣рдд рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рд╡реЗрдм рд╕рд░реНрд╡рд░ рд▓рд┐рдирдХреНрд╕ рдкрд░ рд╣реИ, рддреЛ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рддрд╣рдд рдПрдХ рдЬрдЯрд┐рд▓ рдкреЛрд░реНрдЯрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдерд╛рдиреАрдп рд╕рд░реНрд╡рд░ (рдЬрд┐рд╕рдореЗрдВ рдмрд╣реБрдд рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╣реИ) рдХреЛ рдЙрдард╛рдирд╛ рдЖрдо рддреМрд░ рдкрд░ рдЕрд╕рдВрднрд╡ рд╣реИ, рдпрд╣ рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдкрд░ рдПрдХ рдкреНрд░рддрд┐ рдЬреБрдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдбреЗрд╡рд▓рдкрд░ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдЕрдВрддрд░ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ рджреВрд░рд╕реНрде рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗрд╡рд▓ рдЖрдИрдкреА рдкрддреЗ рдореЗрдВ рд╣реИред
- рдпрджрд┐ рдЖрдк рдЕрднреА рднреА рдПрдХ рд╕реНрдерд╛рдиреАрдп рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕рд░реНрд╡рд░ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд╕рд╡рд╛рд▓ рдмрдирд╛ рд░рд╣реЗрдЧрд╛ рдХрд┐ рддрд╛рдЬ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ, рдЬреЛ рдЕрдХреНрд╕рд░ рд╕реБрдмрд╣ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
- рдпрджрд┐ рдХреЛрдИ рд╕рд╛рдЗрдЯ рдХрдИ рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рд╕реНрдерд┐рдд рд╣реИ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЙрд╕рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣рд┐рд╕реНрд╕реЛрдВ рдкрд░ рдХрдИ рд╕рд░реНрд╡рд░реЛрдВ (рдЬреИрд╕реЗ рдХрд┐, рдПрдХ рдЯреЗрдмреБрд▓ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ - рдПрдХ рдкрд░ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛, рджреВрд╕рд░реЗ рд╕рд░реНрд╡рд░ рдкрд░ рднрд╛рдЧ) рдХрд╛ рдХрдмреНрдЬрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕рдм рдПрдХ рд╕реНрдерд╛рдиреАрдп рд╕рд░реНрд╡рд░ рдмрдирд╛рдиреЗ рдХреЗ рдХрд╛рд░реНрдп рдХреЛ рднреА рдЬрдЯрд┐рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
- рдЖрдкрдХреА рдорд╢реАрди рдФрд░ рд╕рд░реНрд╡рд░ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдмрд╣реБрдд рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдкреНрд░рднрд╛рд╡ рдХреЛрдб рдкрд░ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИред
- рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЗ рдкрд╛рд╕ рдкрд░реНрдпрд╛рдкреНрдд рдкреНрд░рдгрд╛рд▓реА рдкреНрд░рд╢рд╛рд╕рди рдХреМрд╢рд▓ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рд╕рд░реНрд╡рд░ рдХреА рдПрдХ рд╕реНрдерд╛рдиреАрдп рдкреНрд░рддрд┐ рдмрдирд╛рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд▓рд╛рдн рдЦреЛ рджреЗрддреЗ рд╣реИрдВ:
- рдЖрдИрдбреАрдИ рд╕реЗ рджреБрднрд╛рд╖рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдФрд░ рддрджрдиреБрд╕рд╛рд░ рдбрд┐рдмрдЧрд┐рдВрдЧред
- рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХреА рдЧрддрд┐ рдФрд░ рдкрд┐рдВрдЧред
- рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕рд░реНрд╡рд░ рдХреА рдЕрдкрдиреА рдкреНрд░рддрд┐ рдХреЗ рд╕рд╛рде рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡реЗ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╣рд╕реНрддрдХреНрд╖реЗрдк рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред
рдпрджрд┐ Xdebug рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрд┐рдмрдЧрд┐рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рдФрд░ рдЧрддрд┐ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рд░реНрд╡рд░ рдореЗрдВ рдЪрд▓реА рдЧрдИ рд╣реИ, рддреЛ рддреАрд╕рд░рд╛ рд▓рд╛рдн рдПрдХ рдЧрдВрднреАрд░ рдмрд╛рдзрд╛ рдмрди рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореЗрд░рд╛ рд▓реЗрдЦ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЫреЛрдЯреА рдЯреАрдореЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ рдЬрд╣рд╛рдВ рдЖрдк рдХрд╛рд░реНрдп рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╡реЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рдкреНрд░рддрд┐рдЪреНрдЫреЗрдж рди рдХрд░реЗрдВред
рд╡рд┐рдХрд╛рд╕ рд╕рд░реНрд╡рд░реЛрдВ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╡рд┐рдХрд▓реНрдк рд╣реИ - рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рднрд╛рдЧреАрджрд╛рд░ рд╕рд░реНрд╡рд░ рдкрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдбреЛрдореЗрди рдХреА рдЕрдкрдиреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред рд╕рд░реНрд╡рд░ рдПрдХ, рдФрд░ рд░рд┐рдореЛрдЯ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдбреЗрд╡рд▓рдкрд░ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╣рд╕реНрддрдХреНрд╖реЗрдк рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ ... рд╕рдВрдЧрдарди рдХреЗ рдЙрдЪреНрдЪ рдЬрдЯрд┐рд▓рддрд╛ рдореЗрдВ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдШрдЯрд╛рддрд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЕрдЧрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдХрдИ рдЙрдк-рдбреЛрдореЗрди рд╣реИрдВред
рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг:
- рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдкрд╛рд╕ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреА рдПрдХ рдкреНрд░рддрд┐ рд╣реИ
- рдкрд░реАрдХреНрд╖рдг рдФрд░ рдпреБрджреНрдз рд╡реЗрдм рд╕рд░реНрд╡рд░ рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЬрдбрд╝ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреА рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рд╣реИ
- рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЗрдВ PHPStorm рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреА рдХрд╛рд░реНрдпрд╢реАрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рдЬреБрдбрд╝реА рд╣реЛрддреА рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЬрдм Ctrl + S рд╕рд░реНрд╡рд░ рдкрд░ рд╕рдВрдкрд╛рджрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╕реНрд╡рдд: рдЕрджреНрдпрддрди рд╣реЛрддрд╛ рд╣реИ
рд╡рд┐рдХрд╛рд╕ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
- рдбреЗрд╡рд▓рдкрд░ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХреЛрдб рдХреЛ рд╕рд╣реА рдХрд░рддрд╛ рд╣реИ
- Ctrl + S рджрдмрд╛рддрд╛ рд╣реИ рдлрд╝рд╛рдЗрд▓ рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдкрд▓реЛрдб рдХреА рдЬрд╛рддреА рд╣реИ
- рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХрд╛ рд╡рд╛рдВрдЫрд┐рдд рдкреГрд╖реНрда рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИ (рдпрд╛ рдЙрд╕ рдкрд░ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рддрд╛ рд╣реИ), рдкрд░рд┐рдгрд╛рдо рдХреЛ рджреЗрдЦрддрд╛ рд╣реИ
- рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ Xdebug рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрд┐рдмрдЧрд░ рдЪрд▓рд╛рддрд╛ рд╣реИ
- рдЕрдЧрд░ рд╕рдм рдХреБрдЫ рдЖрдк рдкрд░ рд╕реВрдЯ рдХрд░рддрд╛ рд╣реИ, рддреЛ рднрдВрдбрд╛рд░ рдФрд░ рдлрд┐рд░ рдкреБрд╢ рдкрд░ рдЬрд╛рддрд╛ рд╣реИ
- рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ Bitbucket рд╣реИ) рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ Push'a рдпреБрджреНрдз рд╕рд░реНрд╡рд░ рдкрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж
- рдЬрдм рдкреЛрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЧрд┐рдЯ рдкреБрд▓ рдФрд░ рдЗрд╕реА рддрд░рд╣ рд╕реЗ рдХреЙрд▓ рдХрд░рддреА рд╣реИред рд▓рдбрд╝рд╛рдХреВ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреА рд╡рд░реНрдХрд┐рдВрдЧ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд▓рд╛рддрд╛ рд╣реИ
рд╕рд░реНрд╡рд░ рдХреА рддреИрдпрд╛рд░реА
рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдПрдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рдмрд┐рдирд╛ рдореМрдЬреВрдж рдереА, рдПрдХ рдЕрд▓рдЧ рд╡рд┐рд╖рдп рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ рд╡рд╣рд╛рдВ рдХреИрд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдП (рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдмрд╣реБрдд рд╕рд╛рд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рд╢рд▓рдЬрдо рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ), рд▓реЗрдХрд┐рди рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╢рд▓рдЬрдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд┐рдЯрдмрдХреЗрдЯ рдореЗрдВ рд╣реИ, рдФрд░ рд╕рд░реНрд╡рд░ рдкрд░ рдлрд╛рдЗрд▓реЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╣реИрдВ
- рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВ:
su myproject
- рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдмрд┐рдирд╛ рдмрд┐рдЯрдмрдХреЗрдЯ рдкрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд▓рд┐рдП SSH рдХреБрдВрдЬреА рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ
ssh-keygen -t rsa
- рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
cat ~/.ssh/id_rsa.pub
рдФрд░ рдЗрд╕реЗ рдмрд┐рдЯрдмрдХреИрдЯ рдкрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рддреИрдирд╛рддреА рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ - рд╣рдо рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЕрд╕реНрдерд╛рдпреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ ~ / tmp / myproject.ru рдореЗрдВ рдХреНрд▓реЛрди рдХрд░рддреЗ рд╣реИрдВ:
mkdir ~/tmp mkdir ~/tmp/myproject.ru cd ~/tmp/myproject.ru git clone git@bitbucket.org:username/myproject.ru.git
- рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рд╡рд░реНрдХрд┐рдВрдЧ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЗ рд▓рд┐рдП .it рдФрд░ .gitignore (рд╣рдорд╛рд░реЗ рдкрд╛рд╕ /vhosts/myproject.ru/) рд╣реИ, рд╣рдо рдмрд╛рдХреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдХреЙрдкреА рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ!
cp -r .git .gitignore /vhosts/myproject.ru/ rm -rf ~/tmp/myproject.ru
- рд╣рдо рдПрдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдПрдХ рд░рд╛рдЬреНрдп рдореЗрдВ рдлрд╛рдЗрд▓ рд▓рд╛рддреЗ рд╣реИрдВ
cd /vhosts/myproject.ru git reset --hard
рдЧреНрд░рд╛рд╣рдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдг
рдпрджрд┐ рдЖрдкрдиреЗ Git рдЕрднреА рддрдХ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ -
рдбрд╛рд▓ рджрд┐рдпрд╛ рд╣реИPHPStorm рдореЗрдВ, рд╣рдо Git рдХрд╛ рдкрде рд▓рд┐рдЦрддреЗ рд╣реИрдВ (рдпрд╣ рдмрд┐рди / git.exe рдлрд╝рд╛рдЗрд▓ рд╣реИ) - рд╕реЗрдЯрд┐рдВрдЧреНрд╕ -> рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг -> рдЧрд┐рдЯ -> рдкрде рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп
рднрдВрдбрд╛рд░ рдХрд╛ рдХреНрд▓реЛрди:
PHPStorm рдореЗрдВ, VSC рдЯреИрдм -> рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рд╕реЗ рдЪреЗрдХрдЖрдЙрдЯ -> рдЧрд┐рдЯ
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХрд╛ рдирд╛рдо рдФрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХрд╛ рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ
username@bitbucket.org/username/myproject.ru.git
рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓реЗрдВ рд╕рд┐рдВрдХ рдХрд░реЗрдВ:
- рд╕рд░реНрд╡рд░ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдЗрд╕рдХреА рдкрд╣реБрдВрдЪ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ рдлрд╝рд╛рдЗрд▓ -> рд╕реЗрдЯрд┐рдВрдЧреНрд╕ -> рдкрд░рд┐рдирд┐рдпреЛрдЬрди
- рд░реВрдЯ рдкрде рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░реВрдЯ рдХрд╛ рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ /vhosts/myprojet.ru/) - рд╕рд░реНрд╡рд░ рдкрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░реВрдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд░реВрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЗ рд╕рд╛рде рдлрд╛рдЗрд▓ рдкрджрд╛рдиреБрдХреНрд░рдо рд╕реЗ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
- рдореИрдкрд┐рдВрдЧ рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рд╕рд░реНрд╡рд░ рдкрд░ рддреИрдирд╛рддреА рдкрде рдкрд░ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ - / рдФрд░ рд╕рд░реНрд╡рд░ рдкрд░ рд╡реЗрдм рдкрде рдореЗрдВ рднреА - / (рдпрджрд┐ рдпрд╣ рд╕рд╛рдЗрдЯ рдХреА рдЬрдбрд╝ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ)
- рд╕реВрдЪреА рдореЗрдВ рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
- рдЕрдЧрд▓рд╛, рдкрд░рд┐рдирд┐рдпреЛрдЬрди -> рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ, рдЖрдкрдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдкрд▓реЛрдб рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рд╣реЗрдЬреЗ рдЧрдП рдПрдХреНрд╢рди (Ctrl + S) рдкрд░ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
- рдирдИ рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд░рддреЗ рд╕рдордп рд╡рд╛рд░реНрди рдореЗрдВ, рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдФрд░ рдЖрдХрд╛рд░ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕рд╛рдордЧреНрд░реА рджреНрд╡рд╛рд░рд╛ рд╕рдВрднрд╡ рд╣реИ) рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рджреВрд░рд╕реНрде рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░реЗрдВ, рдЗрд╕рд╕реЗ рдЖрдкрдХреЛ рдкрддрд╛ рдЪрд▓ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рдЙрд╕реА рдлрд╝рд╛рдЗрд▓ рдкрд░ рдирд┐рдпрдо рд░рдЦрддрд╛ рд╣реИ
рдЕрдм рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╕рдВрдкрд╛рджрд┐рдд рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдлрд╛рдЗрд▓реЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдкрд▓реЛрдб рд╣реЛ рдЬрд╛рдПрдВрдЧреАред
рд▓рдбрд╝рд╛рдИ рд╕рд░реНрд╡рд░ рдкрд░ рдСрдЯреЛрдкреВрд▓ рд╕реЗрдЯрдЕрдк:
- рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ /vhosts/myproject.ru/gitsync.sh рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдПрдВ:
рдЪреВрдВрдХрд┐ рдЦреАрдВрдЪрдиреЗ рдХреЗ рджреМрд░рд╛рди рдЧрд┐рдЯ рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХрддрд╛ рд╣реИ, рдЕрдЧрд░ рдирдИ рдлрд╛рдЗрд▓реЗрдВ рдЬреЛрдбрд╝реА рдЬрд╛рддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдареАрдХ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВ, рдФрд░ рдЧрд┐рдЯ рд░реАрд╕реЗрдЯ - рд╡реЙрд░рдб рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛рддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╣рдо рдЧрд┐рдЯ рд╕реНрдерд┐рддрд┐ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдирдИ рдлрд╛рдЗрд▓реЗрдВ рд╣рдЯрд╛рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╡реЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рд╣реЛ рдЬрд╛рдПрдВ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬреАрдЖрдИрдЯреА рд░реАрд╕реЗрдЯ -рд╣рд╛рд░реНрдб рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд░рджреНрдж рдХрд░ рджреЗрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдХреЛрдИ рд╡рд┐рд░реЛрдз рди рд╣реЛред
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рди рднреВрд▓реЗрдВ
chmod a+x /vhosts/myproject.ru/gitsync.sh
- рдЪреВрдВрдХрд┐ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд▓рди рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рдорд╛рд▓рд┐рдХ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХрд┐рд╕реА рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдЙрд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдирд╛рдо рд╕реЗ рдкрд╛рд╕рд╡рд░реНрдб рдЖрджрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдСрдЯреЛ-рдкреБрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
- рд╡реЗрдм рд╕реЗ рд╣рдорд╛рд░реА рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ /vhosts/myproject.ru/htdocs/gitsync.php рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реА рдПрдХ php рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдПрдБ (рдЖрдк рдПрдХ рдЕрдзрд┐рдХ рдЧреБрдкреНрдд рдирд╛рдо рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рднреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ):
<?php $output = array(); exec('sudo -u myproject /vhosts/myproject.ru/gitsync.sh 2>&1', $output); foreach ($output as $line) { echo $line."\r\n"; } die(); ?>
- POST рдЕрдиреБрднрд╛рдЧ рдореЗрдВ, рд╕реЗрд╡рд╛ рдЯреИрдм рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдмрд┐рдЯрдмрдХреЗрдЯ рдореЗрдВ, рдСрдЯреЛрдкреЛрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдкрде рд▓рд┐рдЦреЗрдВ:
myproject.ru/gitsync.php
myproject.ru/gitsync.php
рдФрд░ рд╕рд╣реЗрдЬреЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
рдЕрдм, рдкреНрд░рддреНрдпреЗрдХ рдкреБрд╢ рдХреЗ рдмрд╛рдж, рд╕рд░реНрд╡рд░ рдкрд░ рд╕рднреА рдлрд╛рдЗрд▓реЗрдВ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдмрджрд▓ рдЬрд╛рдПрдВрдЧреА, рд╡рд╣реА рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЯреЗрд╕реНрдЯ рд╕рд░реНрд╡рд░ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрджрд┐ рдХрд┐рд╕реА рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдкрд╛рд╕ рдЕрд╕рдореНрдкреАрдбрд┐рдд рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ, рддреЛ рд╡реЗ рд╕рд░реНрд╡рд░ рдкрд░ рдорд┐рдЯ рдЬрд╛рдПрдВрдЧреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдлрд┐рд░ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
Xdebug рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ
рдореИрдВ рдЗрд╕рдХрд╛ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рд╣рдо рдорд╛рди рд▓реЗрдВрдЧреЗ рдХрд┐ Xdebug рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, /etc/php5/conf.d/xdebug.ini рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:
zend_extension=/usr/lib/php5/20090626/xdebug.so xdebug.remote_enable=1 xdebug.remote_connect_back=1 xdebug.idekey=PHPSTORM xdebug.remote_port=9000
рдирд┐рд░реНрджреЗрд╢
рд░рд┐рдореЛрдЯ рдкрд░ рдзреНрдпрд╛рди
рджреЗрдВ_connect_back - рдпрд╣ рдЖрдкрдХреЛ рдбреЗрд╡рд▓рдкрд░ рдХреА рдорд╢реАрди рдХреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЖрдИрдкреА рд╕реЗ
рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдЖрдИрдкреА рд╕реЗ рдШрд┐рд░рд╛ рд╣реИ рдЬреЛ PHP (REMOTE_ADDR) рд╕реЗ рдШрд┐рд░рд╛ рд╣реИ, рдЕрд░реНрдерд╛рддреНред Xdebug рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рдПрдХреНрд╕реЗрд╕ рд╣реЛрдиреЗ рдкрд░ рд╣рд░ рдмрд╛рд░ Xdebug рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдлрд┐рд░ рднреА рдЗрд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХреБрдХреАрдЬрд╝ рдХреЗ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ -
рд╣рдо
рдпрд╣рд╛рдБ xdebug.idekey PHPSTORM рдХреБрдВрдЬреА рдореЗрдВ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ
IDE рдХреБрдВрдЬреА рдЪрд▓рд╛рддреЗ рд╣реИрдВ рдФрд░ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд▓рд┐рдВрдХ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ рдЬреЛ рд╣рдо рдмреБрдХрдорд╛рд░реНрдХ рдмрд╛рд░ рдореЗрдВ рдкреБрди: рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ
рдЖрдкрдХреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ PHPStorm рдореЗрдВ рдХреБрдЫ рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╕ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдпрд╣рд╛рдВ рд╣реИрдВ - рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ -> PHP -> рдбреАрдмрдЧ
рдЕрдм рдбрд┐рдмрдЧрд░ рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рдореНрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
- PHPStorm рдореЗрдВ рдбрд┐рдмрдЧрд░ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рд╕реБрдирдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ - рдмрдЯрди рд╢реБрд░реВ рдХрд░реЗрдВ PHP рдбреАрдмрдЧ рдХрдиреЗрдХреНрд╢рди рд╕реБрдиреЗрдВ
- рд╕рд╛рдЗрдЯ рдЦреЛрд▓реЗрдВ, рдмреБрдХрдорд╛рд░реНрдХ рдХреЛ рдбреАрдмрдЧ рдХрд░реЗрдВ, рдкреГрд╖реНрда рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдХрд░реЗрдВ
- PHPStorm рдХреЛ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрдХреЗрдд рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдбрд┐рдмрдЧрд░ рдЦреЛрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП
рдЪреВрдВрдХрд┐ рдХрдиреЗрдХреНрд╢рди рдмрд╛рд╣рд░ рд╕реЗ рд╣реИ, рдФрд░ рдХрдИ рдЕрдм рд░рд╛рдЙрдЯрд░ рдкрд░ рдмреИрдареЗ рд╣реИрдВ, рд░рд╛рдЙрдЯрд░ рдкрд░ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рдЖрдИрдкреА рдкрддреЗ рдкрд░ рдкреЛрд░реНрдЯ 9000 рдХреЛ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдбреА-рд▓рд┐рдВрдХ рдбреАрдЖрдИрдЖрд░ 300 рдкрд░ рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

рдпрджрд┐ рдбреАрдмрдЧрд░ рдПрдХ рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдкрд░ рд╕рдВрдмрдВрдзрд┐рдд рдореМрдЬреВрджрд╛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рдкрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ PHP рдореЗрдВ -> рд╕рд░реНрд╡рд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЖрдк рд╕рд░реНрд╡рд░ рдкрд░ рдкрде рдХреЗ рдкрддреНрд░рд╛рдЪрд╛рд░ рдХреЛ рд▓реЛрдХреЗрд▓ рдкрд░ рдкрдереЛрдВ рдкрд░ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдВрджрд░реНрдн:
http://git-scm.com/http://xdebug.org/http://bitbucket.org/http://jetbrains.com/phpstorm/