рд╣рдо рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рд╕реНрдерд╛рдиреАрдп рд╕рд░реНрд╡рд░ рдХреЛ рддреИрдирд╛рдд рдХрд░рддреЗ рд╣реИрдВ


рдХреБрдЫ рджрд┐рдиреЛрдВ рдкрд╣рд▓реЗ, рдореИрдВ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдереЙрдЯреНрд╕ рд╕реЗ рдорд┐рд▓рдиреЗ рдЧрдпрд╛ред рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдирдпрд╛ рдФрд░ рдХрд╛рдлреА рдЬреБрдиреВрдиреА рдирд╣реАрдВ рдерд╛: тАЬрдЪрд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ 8 рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред рдЦреИрд░, рдХреГрдкрдпрд╛ред " рдФрд░ рдЬрдм рд╕реЗ рдЙрд╕реЗ рджреВрд░ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рдерд╛, рдореИрдВрдиреЗ рдЪрд╛рдп рдФрд░ рдХреБрдХреАрдЬ рдХрд╛ рд╕реНрдЯреЙрдХ рдХрд┐рдпрд╛ рдФрд░ рд╢реБрд░реВ рдХрд┐рдпрд╛ред

рд╕рд┐рд╕реНрдЯрдо рдФрд░ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рджреЛ рдШрдВрдЯреЗ рд╕реЗ рдЕрдзрд┐рдХ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд▓рдЧрд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдХреНрд╖рдг рдЖрдпрд╛: рдореБрдЭреЗ рдПрдХ рдХрд╛рдордХрд╛рдЬреА рд╡рд╛рддрд╛рд╡рд░рдг, рдЕрд░реНрдерд╛рддреН GIT + рд╕реНрдерд╛рдиреАрдп рд╕рд░реНрд╡рд░ (Apache, MySQL, PHP, nginx, memcached, mongodb) рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдкрд┐рдЫрд▓реА рд╕реНрдерд╛рдкрдирд╛рдУрдВ рдХреЗ рдЕрдиреБрднрд╡ рдХреЗ рдкреНрд░рддрд┐ рд╕рдЪреЗрдд, рдЗрд╕ рдмрд╛рд░ рдореИрдВрдиреЗ рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реЗрдЬрдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред



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

рдЕрд╕реНрд╡реАрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ рджреЛ: рд╣рд╛рдВ, рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд▓реНрдкрдирд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдЙрдмрдВрдЯреВ рдореЗрдВ рдпрд╣ рд╕рдм рдХрдИ рдмрд╛рд░ рддреЗрдЬреА рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд░реВрдк рд╕реЗред


рддреЛ рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

рд╣рдорд╛рд░реА рдХрд╛рд░реНрдп рдпреЛрдЬрдирд╛ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрддреНрдкрд╛рджреЛрдВ рдХреА рд╕реНрдерд╛рдкрдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ:


  1. рдкреБрдЯреНрдЯреА
  2. GIT
  3. рдбреЗрдирд╡рд░ (Apache, MySQL, PHP)
  4. nginx
  5. memcached
  6. MongoDB


1. рдкреБрддреНрддрд░


PuTTY SSH, Telnet, rlogin рд╕рд╣рд┐рдд рд╡рд┐рднрд┐рдиреНрди рд░рд┐рдореЛрдЯ рдПрдХреНрд╕реЗрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдлреНрд░реАрд╡реЗрдпрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рд╣реИред


PuTTY рдореЗрдВ рдХрдИ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХреЗрд╡рд▓ рдЙрдирдХреА рдФрд░ Pegeant (рдПрдХ SSH рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдПрдЬреЗрдВрдЯ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдЬреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдЬрдорд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдВрдЬреА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ)ред
рдСрдлрд╕рд╛рдЗрдЯ: рдЬрд╛рдУ
рдпрджрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рдПрд╕рдПрд╕рдПрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕ рдЖрдЗрдЯрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЬрд╛рдПрдВ рдФрд░ рдЖрдЧреЗ рдмрдврд╝реЗрдВред

2. рдЬреАрдЖрдИрдЯреА


Git рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП , рдореИрдВ рдХрдИ рд╡рд░реНрд╖реЛрдВ рд╕реЗ TortoiseGit рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬреЛ рд╕реНрдерд┐рд░ рд╣реИ, рд▓рдбрд╝рдХрд╛ рдФрд░ 146% рд╕рднреА рдЬрд░реВрд░рддреЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рддреЗ рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореИрдВ рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред

рдСрдлрд╕рд╛рдЗрдЯ: рдЬрд╛рдУ

2.1 TortoiseGit рдХреЛ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП git рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕реЗ Googlecode рдкрд░ рдЙрдард╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ;
2.2 рдпрд╣рд╛рдБ рд╕реЗ TortoiseGit рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

3. рдбреЗрдирд╡рд░


рдбреЗрдирд╡рд░ - рд╡реЗрдм-рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд╛ рдПрдХ рд╕рдЬреНрдЬрди рд╕реЗрдЯ ("D.n.w.r", "рдбреЗрдирд╡рд░" рдкрдврд╝реЗрдВ) - рджрд┐рдорд┐рддреНрд░реА рдХреЛрдЯреЗрд░реЛрд╡ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛, рд╡рд┐рддрд░рдг рдХрд╛ рдПрдХ рд╕реЗрдЯ (Apache, PHP, MySQL, рдкрд░реНрд▓, рдЖрджрд┐) рдФрд░ рд╡реЗрдм рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╢реЗрд▓ред "рд╣реЛрдо" (рд╕реНрдерд╛рдиреАрдп) рд╡рд┐рдВрдбреЛрдЬ рдорд╢реАрди рдкрд░ рд╡рд┐рдХрд╛рд╕рд╢реАрд▓ рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рдбреЗрд╡рд▓рдкрд░реНрд╕ред
рдСрдлрд╕рд╛рдЗрдЯ: рдЬрд╛рдУ

3.1 рд╕реНрдерд╛рдкрдирд╛


рд╣рдореЗрдВ рдмреБрдирд┐рдпрд╛рджреА рдХрд┐рдЯ рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд PHP5 рдореЙрдбреНрдпреВрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдЧреАрддрд╛рддреНрдордХ рд╡рд┐рд╖рдпрд╛рдВрддрд░:
рдирд╣реАрдВ, рди рдХреЗрд╡рд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ, рдмрд▓реНрдХрд┐ рдИрдореЗрд▓ рджреНрд╡рд╛рд░рд╛ рдбрд╛рдЙрдирд▓реЛрдб рд▓рд┐рдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ! рдпрд╣реА рд╣реИ, рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдореЗрд▓ рдореЗрдВ рдбреНрд░рд╛рдЗрд╡ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЖрдкрдХрд╛ рдкрд╣рд▓рд╛ рдФрд░ рдЖрдЦрд┐рд░реА рдирд╛рдо рджреЛ рдмрд╛рд░ рдмрдбрд╝реЗ рд╢реАрд░реНрд╖рдХ "рдкрдВрдЬреАрдХрд░рдг" рдХреЗ рддрд╣рдд рдлреЙрд░реНрдо рдореЗрдВ рд╣реЛрдЧрд╛ред "рдбреЗрдирд╡рд░ 4. рдХреЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдкрдВрдЬреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред" рдЕрдм рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП, рдлреЙрд░реНрдо рдорд╛рдлреА рдорд╛рдВрдЧрдиреЗ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЕрдм рдЗрд╕ рдкрд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реИ (ред


рдЖрдорддреМрд░ рдкрд░, рдбреЗрдиреЗрд╡рд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рддреНрд╡рд░рд┐рдд рдФрд░ рдкреАрдбрд╝рд╛рд░рд╣рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рдВрдбреЛрдЬ 8 рдкрд░ рдореБрдЭреЗ рдПрдХ рддреНрд░реБрдЯрд┐ рд╕реЗ рд╣рдорд▓рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рд▓рд╛рдкрддрд╛ msvcr71.dll рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдХрд╕рдо рдЦрд╛рддрд╛ рдерд╛ ред рдЖрдк рдпрд╣рд╛рдВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ "\ Windows \ System32 \" (x32) рдпрд╛ "\ Windows \ SysWOW64 \" (x64) рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред рдлрд╝рд╛рдЗрд▓ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдмрд╕рдиреЗ рдХреЗ рдмрд╛рдж, рдЙрд╕рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рдЦреЛрд▓реЗрдВ рдФрд░ рдЕрдирд▓реЙрдХ рдмрдЯрди рджрдмрд╛рдПрдВред

3.2 рд╕реНрд╡рд╛рд╕реНрдереНрдп рдЬрд╛рдВрдЪ


рдбреЗрдирд╡рд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдПрдХ рдкрд░реАрдХреНрд╖рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдПрдВрдЧреЗ, рдЬрд┐рд╕ рдкрд░ рд╣рдо рдмрд╛рдж рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╣рд░ рдЪреАрдЬ рдХреА рд╕рдВрдЪрд╛рд▓рди рдХреНрд╖рдорддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВрдЧреЗред
рд╣рдо Z: \ home рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдирдИ рд╕рд╛рдЗрдЯ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ: "www" рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ test.local рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рд░рдЪрдирд╛рддреНрдордХ рдкрд╛рда рдХреЗ рд╕рд╛рде index.php рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:

<?php echo 'Test me <br>'; 


рд╣рдо рдбреЗрдирд╡рд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рддреЗ рд╣реИрдВ, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ www.test.local рдЦреЛрд▓рддреЗ рд╣реИрдВ, рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВ

4. рдореЗрдордХреЗрдб


рдореЗрдордХреИрдЪреНрдб рдПрдХ рдорд┐рдбрд▓рд╡реЗрдпрд░ рд╣реИ рдЬреЛ рд╣реИрд╢ рдЯреЗрдмрд▓ рдкреНрд░рддрд┐рдорд╛рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдореЗрдореЛрд░реА рдХреИрд╢рд┐рдВрдЧ рд╕реЗрд╡рд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред


рдСрдлрд╕рд╛рдЗрдЯ: рдЬрд╛рдУ

рдореЗрдореНрдЪреЗ , php рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░, рдореЗрдореИрдХреИрдб рдХреЛ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдПрдХ рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди рдХреИрд╢рд┐рдВрдЧ рдбреЗрдорди рдЬреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЧрддрд┐рд╢реАрд▓ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рд▓реЛрдб рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

4.1 рд╕рдВрд╕реНрдорд░рдгрд┐рдд рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ


A. рдмрд╛рдЗрдирд░реА рд╕рдВрдЧреНрд░рд╣ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ: рдпрд╣рд╛рдВ рд╕реЗ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП 1.4.5 рдореЗрдореЙрдЪреНрдб
B. рдкреБрд░рд╛рд▓реЗрдЦ рдХреА рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреЛ \ usr \ local \ memcached рдореЗрдВ рдЕрдирдкреИрдХ рдХрд░реЗрдВ

4.2 рд╕рдВрд╕реНрдорд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ


рдЙред рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реЗ рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдпрд╣рд╛рдБ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
B. рдкреБрд░рд╛рд▓реЗрдЦ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ \ usr \ local \ php5 \ ext \ рдореЗрдВ рдЕрдирдкреИрдХ рдХрд░реЗрдВ
C. php.ini рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ ( \ usr \ local \ php5 \ php.ini ) рдФрд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ:
extension=php_memcache.dll

4.3 рдбреЗрдирд╡рд░ рд▓реЙрдиреНрдЪ рдХреЗ рд╕рд╛рде рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдореЗрдореЙрдЪреНрдб рд▓реЙрдиреНрдЪ


рдбреЗрдирд╡рд░ рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП:
  1. рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреЗрдВ рдЬрд┐рд╕рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди / рд╕реЗрд╡рд╛ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рд╣реЛ рдФрд░ рдЗрд╕реЗ \ denwer \ script \ init.d рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдбрд╛рд▓реЗрдВ
  2. рдкреНрд░рд╛рд░рдВрдн / рд░реЛрдХреЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝реЛрд▓реНрдбрд░ \ denwer \ script \ main \ рдореЗрдВ рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд▓рд┐рдВрдХ рдмрдирд╛рдПрдБ


A. \ denwer \ script \ init.d \ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ "memcached.pl" рдирд╛рдордХ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ
 #!perl -w package Starters::Memcached; BEGIN { unshift @INC, "../lib"; } use StartManager; my $basedir = '/usr/local/memcached/'; chdir($basedir); StartManager::action $ARGV[0], start => sub { ### ### START. ### print "Starting memcached\n"; system("memcached.exe -d"); print " Started!\n"; }, stop => sub { ### ### STOP. ### print "Stopping memcached\n"; system("TASKKILL /F /IM memcached.exe"); print " Stopped!\n"; }; return 1 if caller; 


B. рдЕрдм рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рдмрдирд╛рдПрдВ - рдПрдХ рдирд┐рдпрдорд┐рдд рдкрд╛рда рдлрд╝рд╛рдЗрд▓ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕рдВрдХреЗрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдбреЗрдирд╡рд░ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ, рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ init.d / memcached.pl рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдПрдХ рдкрд╛рда рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рд╣рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ
init.d/memcached
рдФрд░ рдирд┐рдореНрди рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ "40_memcached" рдирд╛рдо рдХреЗ рддрд╣рдд рдлрд╛рдЗрд▓ рдХреЛ рд╕рд╣реЗрдЬреЗрдВ:


4.4 рдкрд░рд┐рдгрд╛рдо рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛


рд╣рдорд╛рд░реЗ рдкрд░реАрдХреНрд╖рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ (index.php) рдЬреЛрдбрд╝реЗрдВ:
 $memcache = new Memcache; $memcache->connect('127.0.0.1', 11211); echo 'Memcache ver: ' . $memcache->getVersion(); 


рдбреЗрдирд╡рд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реБрдЖ


5. рдирдЧреНрдиреЗрдХреНрд╕


Nginx рдПрдХ рд╕рд░рд▓, рддреЗрдЬ рдФрд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╕рд░реНрд╡рд░ рд╣реИ, рдЬреЛ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдЕрддрд┐рднрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реИред

рдСрдлрд╕рд╛рдЗрдЯ: рдЬрд╛рдУ

5.1 Nginx рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛


A. Windows рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдСрдлрд╝рд▓рд╛рдЗрди рд╕рд╛рдЗрдЯ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ \ usr \ local \ nginx рдореЗрдВ рдЕрдирдкреИрдХ рдХрд░реЗрдВ
B. рд╣рдорд╛рд░реЗ рдкрд░реАрдХреНрд╖рдг рд╕реНрдерд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрднрд╛рд╕реА рдореЗрдЬрдмрд╛рди рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреАред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, \ usr \ local \ nginx \ conf \ nginx.conf рдЦреЛрд▓реЗрдВ рдФрд░ рд╡рд╣рд╛рдВ рдЬреЛрдбрд╝реЗрдВ

  server { listen 127.0.0.1:80; server_name www.test.local test.local; if ($host = 'test.local'){ rewrite ^/(.*)$ http://www.test.local$1 permanent; } location ~* \.(jpeg|jpg|gif|png|css|js|pdf|txt|tar)$ { root Z:\home\/test.local\www; } location / { ssi on; proxy_pass http://127.0.0.1:8080/; proxy_set_header X-REQUEST_URI $request_uri; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-for $remote_addr; proxy_set_header Host $host; proxy_connect_timeout 60; proxy_send_timeout 90; proxy_read_timeout 90; proxy_redirect off; proxy_set_header Connection close; proxy_pass_header Content-Type; proxy_pass_header Content-Disposition; proxy_pass_header Content-Length; root Z:\home\/test.local\www; } } 

рдпрд╣ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рдЖрдкрдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕, рдЬрд╛рд╣рд┐рд░ рд╣реИ, рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИрдВред

5.2 рдЕрдкрд╛рдЪреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛


рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЕрдкрд╛рдЪреЗ 80 рд╡реЗрдВ рдкреЛрд░реНрдЯ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдордиреЗ рдЕрднреА рдЗрд╕ рдкреЛрд░реНрдЯ рдХреЛ рдиреЗрдЧреНрдиреЗрдХреНрд╕ рдХреЛ рджрд┐рдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдЕрдм рд╣рдореЗрдВ рдЕрдкрд╛рдЪреЗ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рд╡рд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рдмрджрд▓рдиреЗ рдФрд░ 80 рд╡реЗрдВ рдПрдХ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 8080) рд╕реЗ рдЕрд▓рдЧ рдкреЛрд░реНрдЯ рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
\ Usr \ local \ apache \ conf \ httpd.conf рдЦреЛрд▓реЗрдВ рдФрд░ рдкреЛрд░реНрдЯ рдирдВрдмрд░ рдмрджрд▓реЗрдВ

 ## ##    . ## ##       Apache  ,   80, ##       . ## #Listen $&{ip:-127.0.0.1}:$&{port:-8080} #NameVirtualHost $&{ip:-127.0.0.1}:$&{port:-8080} #<VirtualHost $&{ip:-127.0.0.1}:$&{port:-8080}> # DocumentRootMatch "/home/(?!cgi-)(.*)^1/(?!cgi$|cgi-)(.*)" # DocumentRootMatch "/home/(?!cgi-)(.*)/public_html^1" # DocumentRootMatch "/home/(?!cgi-)(.*)/public^1" # DocumentRootMatch "/home/(?!cgi-)(.*)^1/html/(.*)" # DocumentRootMatch "/home/(?!cgi-)(.*)^1/domains/(?!cgi$|cgi-)(.*)" # DocumentRootMatch "/var/www/html/(?!cgi-)~(.*)^1/(?!cgi$|cgi-)(.*)" # DocumentRoot "$&" # ServerName "%&/-www" # ServerAlias "%&/-www" "%&/-www/www" $&{host:-} # # $&{directives:-} # # ScriptAlias /cgi/ "$^1/cgi/" # ScriptAlias /cgi-bin/ "$^1/cgi-bin/" # AllowEncodedSlashes on #</VirtualHost> 


5.3 рдбреЗрдирд╡рд░ рд▓реЙрдиреНрдЪ рдХреЗ рд╕рд╛рде Nginx рд▓реЙрдиреНрдЪ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛


A. \ n \ n " \ n \ _ \ _ \ " рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ "nginx.pl" рдирд╛рдордХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ
 #!perl -w package Starters::Nginx; BEGIN { unshift @INC, "../lib"; } use StartManager; my $basedir = '/usr/local/nginx/'; chdir($basedir); StartManager::action $ARGV[0], start => sub { ### ### START. ### print "Starting Nginx\n"; system("start nginx.exe"); print " Started!\n"; }, stop => sub { ### ### STOP. ### print "Stopping Nginx\n"; system("nginx.exe -s stop"); print " Stopped!\n"; }; return 1 if caller; 


B. рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдПрдбрд┐рдЯрд░ рдореЗрдВ рд▓рд┐рдЦреЗрдВ
init.d/nginx
рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдореЗрдВ "50_memcached" рдирд╛рдо рдХреЗ рддрд╣рдд рдлрд╛рдЗрд▓ рдХреЛ рд╕рд╣реЗрдЬреЗрдВ:


5.4 рдкрд░рд┐рдгрд╛рдо рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛


рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЖрдЧреЗ, рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде style.css рдлрд╝рд╛рдЗрд▓ рдбрд╛рд▓реЗрдВ
 h1{ color: red; } h2{ color: green; } 


рдФрд░ рд╣рдорд╛рд░реЗ index.php рдХрд╛ рдЖрдирдВрдж рд▓реЗрдВ :
 <html> <head> <title>Test me</title> <link rel="stylesheet" type="text/css" href="style.css"> <meta http-equiv="content-type" content="text/html; charset=utf-8"> </head> <body> <h1>Test me</h1> <h2>Memcached</h2> <?php $memcache = new Memcache; $memcache->connect('127.0.0.1', 11211); echo 'Memcached ver: ' . $memcache->getVersion(); ?> </body> </html> 

рдЕрдм рдбреЗрдирд╡рд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдЖрдирдВрдж рд▓реЗрдВред рдпрджрд┐ CSS рдлрд╝рд╛рдЗрд▓ рдХрдиреЗрдХреНрдЯ рд╣реИ, рддреЛ Nginx рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред


6. MongoDB


MongoDB рдПрдХ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рджрд╕реНрддрд╛рд╡реЗрдЬрд╝-рдЙрдиреНрдореБрдЦ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рдмрдВрдзрди рдкреНрд░рдгрд╛рд▓реА (DBMS) рд╣реИ рдЬрд┐рд╕реЗ рддрд╛рд▓рд┐рдХрд╛ рд╕реНрдХреАрдорд╛ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред

рдСрдлрд╕рд╛рдЗрдЯ: рдЬрд╛рдУ

6.1 php рдбреНрд░рд╛рдЗрд╡рд░


A. рдЗрд╕ рд╕рд╛рдЗрдЯ рд╕реЗ php_mongo.dll рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ: рдФрд░ рдЗрд╕реЗ \ usr \ local \ php5 / ext \ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЫреЛрдбрд╝реЗрдВ
рдкрд░реАрдХреНрд╖рдг рдФрд░ рддреНрд░реБрдЯрд┐ рд╕реЗ, рдпрд╣ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдХрд┐ рдПрдХ рдЙрдкрдпреБрдХреНрдд рдбреНрд░рд╛рдЗрд╡рд░ mongo-1.2.5.zip/mongo-1.2.5-php5.3vc9ts.zip рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИред рдпрджрд┐ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЖрдк рдЖрд░рдВрдн рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЕрдиреНрдп рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

B. php.ini рдореЗрдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ
extension=php_mongo.dll

6.2 рдореИрдВрдЧреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛


A. рдореЛрдВрдЧреЛ рд╕реЗ рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ \ usr \ local \ mongodb рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЕрдирдкреИрдХ рдХрд░реЗрдВ ред рдПрдХ рд╣реА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ, рджреЛ рдФрд░ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдБ:
  1. рдбрд╛рдЯрд╛рдмреЗрд╕
  2. рд▓реЙрдЧ


B. рд╕реЗрд╡рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
> cd C:\WebServers\usr\local\mongodb\bin\
> mongod.exe --install --dbpath=C:\WebServers\usr\local\mongodb\db\ --logpath=C:\WebServers\usr\local\mongodb\logs\

6.3 рдбреЗрдирд╡рд░ рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ MongoDB рдХреЗ рд▓реЙрдиреНрдЪ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛


A. \ denwer \ script \ init.d \ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ "mongod.pl" рдирд╛рдордХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ
 #!perl -w package Starters::mongoDB; BEGIN { unshift @INC, "../lib"; } use StartManager; StartManager::action $ARGV[0], start => sub { ### ### START. ### print "Starting mongoDB\n"; system("net start mongoDB"); print " Started!\n"; }, stop => sub { ### ### STOP. ### print "Stopping mongoDB\n"; system("net stop mongoDB"); print " Stopped!\n"; }; return 1 if caller; 


B. рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдПрдбрд┐рдЯрд░ рдореЗрдВ рд▓рд┐рдЦреЗрдВ
init.d/mongod
рдФрд░ "60_mongod" рдирд╛рдо рдХреЗ рддрд╣рдд рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЙрди рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ:


6.4 рдкрд░рд┐рдгрд╛рдо рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛


рдорд╛рдирдЧреЛ рдХрдВрд╕реЛрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ
> Z:\usr\local\mongodb\bin\mongo.exe

рдФрд░ рд╣рдо "рдкрд░реАрдХреНрд╖рдг" рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдореВрд▓реНрдп рдХреЛ рд╕рдореНрдорд┐рд▓рд┐рдд рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдВрдЧреЗ
> db.test.save( { name: тАЬHabr!тАЭ } )
> db.test.find()

рдкрд░рд┐рдгрд╛рдо рдирд┐рдореНрди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:


6.5ред рдорд╛рдирдЧреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рдмрдВрдзрди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛


Offsite MongoDB рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреНрд╖реЗрддреНрд░ рдХреА рдПрдХ рд╕реВрдЪреА рдФрд░ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕рдореАрдХреНрд╖рд╛рдПрдВ рд╣реИрдВ , рдЬрд┐рд╕рд╕реЗ рдЖрдк рд╕реНрд╡рд╛рдж рд▓реЗрдирд╛ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВред
рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд▓рд┐рдП рд░реЙрдХрдореЙрдиреНрдЧреЛ рдХреЛ рдЪреБрдирд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЗрд╕рдХреА рдорджрдж рд╕реЗ рд╣реИ рдХрд┐ рд╣рдо рдЕрдВрдд рдореЗрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВрдЧреЗ рдХрд┐ рд╕рдм рдХреБрдЫ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрд╣реАрдВ рднреА рдЧрд┐рд░рддрд╛ рдирд╣реАрдВ рд╣реИред

A. рдЗрд╕ рдкреГрд╖реНрда рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдХреЗ рд╕рд╛рде рд╕рдВрдЧреНрд░рд╣ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред рд╣рдо рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдЦрди рдХреЗ рд╕рдордп, рдпрд╣ рд░реЙрдХрдореЙрдиреНрдЧреЛ-рдСрди-рд╡рд┐рдВрдбреЛрдЬ v0.0.4 рд╣реИ

B. рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рд╣рдо рдлрд╝реЛрд▓реНрдбрд░ \ rockmongo-on-windows \ web \ rockmongo рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╣рдорд╛рд░реА рдкрд░реАрдХреНрд╖рдг рд╕рд╛рдЗрдЯ рдХреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХреЙрдкреА рдХрд░рддреЗ рд╣реИрдВ
Config.php рдЦреЛрд▓реЗрдВ рдФрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдорд╛рди рдмрджрд▓реЗрдВ
 $MONGO["servers"][$i]["control_auth"] = true; 

рдкрд░
 $MONGO["servers"][$i]["control_auth"] = false; 


рд╕реАред Www.test.local / rockmongo / index.php рдкрд░ рдкрд░рд┐рдгрд╛рдо рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ


рдмрдзрд╛рдИ! рдЕрдм рд╣рдо рдЕрдВрддрд┐рдо рдФрд░ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╕рд╛рдерд┐рдпреЛрдВ рд╣реИрдВред

рдмреЛрдирд╕ рдирдВрдмрд░ 1ред рд╡рд┐рдВрдбреЛрдЬ рдХрдВрд╕реЛрд▓ рд╕реЗ php рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ


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

"рдмрджрд▓реЗрдВ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдкрдВрдХреНрддрд┐ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ
;Z:\usr\local\php5

рдЕрдм рдЬрд╛рдВрдЪ рд▓реЗрдВ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛ред
рдкрд░реАрдХреНрд╖рдг рд╕рд╛рдЗрдЯ рдХреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ, рдХрдВрд╕реЛрд▓ ред Php рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ

 <?php if ($argv[0] == basename(__FILE__)) { unset($argv[0]); } echo 'Hello ' . $argv[1] . '!'; 


рд╣рдо рдХрдВрд╕реЛрд▓ рдЦреЛрд▓рддреЗ рд╣реИрдВ (рдпрд╣ рд╕реАрдзреЗ рдЙрд╕реА рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рд╕рдВрднрд╡ рд╣реИ - рд╣рдо рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рджрдмрд╛рдП рдЧрдП SHIFT- рд╡реЗрдВ рдХреЗ рд╕рд╛рде рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдЖрдЗрдЯрдо "рдХрдорд╛рдВрдб рд╡рд┐рдВрдбреЛ рдЦреЛрд▓реЗрдВ" рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ)ред
рджрд░реНрдЬ рдХрд░реЗрдВ:
> php console.php тАЬUserNameтАЭ

рдХрдВрд╕реЛрд▓ рдкреНрд░рддрд┐рд╕рд╛рдж рджреЗрддрд╛ рд╣реИ:
> тАЬHello, UserName!тАЭ


PHP рдиреЗ рд╣рд░рд╛рдпрд╛, рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдЙрд▓реНрд▓рд╛рд╕, рддрд╛рд▓рд┐рдпрд╛рдБ, рдкрд░реНрджрд╛ред

рдмреЛрдирд╕ рдирдВрдмрд░ 2ред


рдПрд╕рдПрдордПрд╕ рдХреЗ рдмрд┐рдирд╛ рдореБрдлреНрдд рдореЗрдВ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд▓реЗрдЦ рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╕рднреА рдлрд╛рдЗрд▓реЗрдВ рдФрд░ рдЙрджрд╛рд╣рд░рдг: рдЬреАрдердм рдкрд░

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд╕рд╛рдордЧреНрд░реА рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧреАред
рдореИрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдФрд░ рд╕реБрдЭрд╛рд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛ред

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


All Articles