рджреВрд░рд╕реНрде рдбрд┐рдмрдЧрд┐рдВрдЧ xdebug рдкреЛрд░реНрдЯ рдлрд╝реЙрд░рд╡рд░реНрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП

рд╕рдордп-рд╕рдордп рдкрд░ рд╣рд░ рдбреЗрд╡рд▓рдкрд░ рдЕрдЬреАрдм рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддрд╛ рд╣реИред рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдЙрдирдХрд╛ рдХрд╛рд░рдг рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдб рдореЗрдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред Xdebug рдореЙрдбреНрдпреВрд▓ рдкреЗрд╢реЗрд╡рд░ рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг рд╣реИред рдЬрдм рдХреЛрдб рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рдкрд░ рдкрд╣реБрдВрдЪ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ xdebug рдЙрд╕ IDE рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реИ рдЬреЛ рдкреЛрд░реНрдЯ рдкрд░ рд╕реБрдирддрд╛ рд╣реИ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ 9000 рд╣реИ)ред рдпрд╣ рд╕реНрдХреАрдо рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рдкрд░ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддреА рд╣реИред рдпрджрд┐ рдЖрдк рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░ рдХреА рд╕реАрдзреА рд░реЗрдЦрд╛ рдореЗрдВ рд╣реИрдВ, рддреЛ рдЖрдк рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдЕрдкрдиреЗ рдЖрдИрдкреА рдХреЛ xdebug рдХреЙрдиреНрдлрд┐рдЧрд░ рдФрд░ рдбреАрдмрдЧ рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдбреЗрд╡рд▓рдкрд░ рдХрд╛ рдХрдВрдкреНрдпреВрдЯрд░ NAT рдХреЗ рдкреАрдЫреЗ рд╕реНрдерд┐рдд рд╣реИ, рддреЛ рд╕рд░реНрд╡рд░ рд╕реЗ рдЙрд╕ рддрдХ рд╕реАрдзреА рдкрд╣реБрдВрдЪ рдЕрд╕рдВрднрд╡ рд╣реИред
рдореИрдВ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рдкрд░ xdebug рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдкреЛрд░реНрдЯ рдЕрдЧреНрд░реЗрд╖рдг рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рд╕реАрдЦрд╛ рдХрд┐ рдХреИрд╕реЗ рдЗрд╕реЗ рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░ рдкрд░ рдбреАрдмрдЧ рдХрд░рдирд╛ рд╣реИ рдФрд░ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдЬреЛ рд╣рд░ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд, рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
IDE рдХреЗ рд░реВрдк рдореЗрдВ рдореИрдВрдиреЗ PhpStorm, Chrome рдмреНрд░рд╛рдЙрдЬрд╝рд░, Ubuntu OS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдкреЛрд░реНрдЯ рдлреЙрд░рд╡рд░реНрдбрд┐рдВрдЧ рд╡рд┐рдВрдбреЛрдЬрд╝ рдореЗрдВ рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд╕рд░реНрд╡рд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕


sudo apt-get install php5-xdebug sudo nano /etc/php5/conf.d/xdebug.ini 

рдЖрдИрдбреАрдИ рдпрд╛ рдЦрд╛рд▓реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ xdebug.idekey рд╡рд┐рдХрд▓реНрдк PhpStorm1, netbeans-xdebug, XDEBUG_ECLIPSE рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
 zend_extension=/usr/lib/php5/20100525/xdebug.so xdebug.profiler_enable = 0 xdebug.remote_enable = 1 xdebug.remote_host = 127.0.0.1 xdebug.remote_port=9000 xdebug.remote_handler=dbgp xdebug.idekey=PhpStorm1 

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, phpinfo () рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ xdebug рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП:


рдЧреНрд░рд╛рд╣рдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕


рдХреНрд░реЛрдо Xdebug рд╕рд╣рд╛рдпрдХ

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


PhpStorm рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ

рдлрд╝рд╛рдЗрд▓ -> рд╕реЗрдЯрд┐рдВрдЧреНрд╕ -> xdebugред рдкреЛрд░реНрдЯ 9000ред рдкреИрдирд▓ рдореЗрдВ рдбрд┐рдмрдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ -> рдирдпрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЬреЛрдбрд╝реЗрдВ -> PHP рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ
рдЖрдкрдХреЛ рдирд╛рдо, рдкреНрд░рд╛рд░рдВрдн URL рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдПрдХ рдирдпрд╛ рд╕рд░реНрд╡рд░ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред рд╕рд░реНрд╡рд░ рдкрд░, рдирд╛рдо, рд╣реЛрд╕реНрдЯ, рдкреЛрд░реНрдЯ, рдкрде рдорд╛рдирдЪрд┐рддреНрд░рдг рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред рд╕рдм рдмрдЪрд╛ рд▓реЛред

рдЕрдм рдЖрдк рдПрдХ рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдбреАрдмрдЧ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЖрдИрдбреАрдИ рдкреЛрд░реНрдЯ рдХреЛ рд╕реБрдирдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗред рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рд░реНрд╡рд░ + рдкреНрд░рд╛рд░рдВрдн URL рдкреГрд╖реНрда рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдкреИрд░рд╛рдореАрдЯрд░ XDEBUG_SESSION_START рд╣реЛрдЧрд╛, рдЬреЛ рд╕рддреНрд░ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд╕рдордп рдЗрд╕реЗ рди рдЦреЛрдПрдВред

рдкреЛрд░реНрдЯ рдЕрдЧреНрд░реЗрд╖рдг

Xdebug рдПрдХ рдмрдВрджрд░рдЧрд╛рд╣ рдкрд░ рджрд╕реНрддрдХ рджреЗ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдПрдХ IDE рдкрд░ рд╕реБрди рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рд╣рдо рдПрдХ рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░ рдХреЛ рдбреАрдмрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ NAT рдкрд░ рдмреИрдарддреЗ рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░реЗ рдкреЛрд░реНрдЯ рдЕрдиреБрдкрд▓рдмреНрдз рд╣реИрдВред рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк ssh рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреВрд░рд╕реНрде рдкреЛрд░реНрдЯ рдХреЛ рд╕реНрдерд╛рдиреАрдп рдкреЛрд░реНрдЯ рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдирд╛ рд╣реИред рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХреЗ рдиреАрдЪреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ ssh рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рд╕рд┐рдЧрд╡рд┐рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
 $ ssh -R 9000:127.0.0.1:9000 user@server 

рдкреЛрд░реНрдЯ рдЕрдЧреНрд░реЗрд╖рдг рдЬрд╛рдБрдЪ

рдЖрдкрдХреЛ рдЗрд╕рдХреЗ 9000 рдкреЛрд░реНрдЯ рдкрд░ рд░рд┐рдореЛрдЯ рдорд╢реАрди рдкрд░ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрджрд┐ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдорд╛рд░реЗ рд╕реНрдерд╛рдиреАрдп рдмрдВрджрд░рдЧрд╛рд╣ рдХреЗ рд╕рд╛рдеред
рд╕рдлрд▓ рдХрдиреЗрдХреНрдЯ:
 > telnet 127.0.0.1 9000 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. 

рдЯреЗрд▓рдиреЗрдЯ рд╕рддреНрд░ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЙрдЯрдХреА Ctrl +] рд╣реИред
рд╕рдВрднрд╛рд╡рд┐рдд рддреНрд░реБрдЯрд┐рдпрд╛рдВ:
 telnet: Unable to connect to remote host: Connection refused -   .      . Connection closed by foreign host - IDE    

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


All Articles