x-debug in php storm

21
XDebug -> PHPStorm XDebug Integration to PHP Storm

Upload: klabcyscorpions-techblog

Post on 06-May-2015

5.583 views

Category:

Education


3 download

TRANSCRIPT

Page 1: X-Debug in Php Storm

XDebug -> PHPStorm XDebug Integration to PHP Storm

Page 2: X-Debug in Php Storm

•  is a PHP extension that was written and is maintained by Derick Rethans

•  provides debugging and profiling capabilities

•  you can set a breakpoint and pause the execution of a script

What is XDebug ?

Page 3: X-Debug in Php Storm

• use to avoid var_dump, print_r and echo for debugging

•  completely replaces the need to litter

your code with echo, print_r() or var_dump() calls, and displays information on all variables, not just the one you passed.

What is XDebug ?

Page 4: X-Debug in Php Storm

• PHP Storm • Sublime Text 2 • Notepad++ • Vim

IDE Support

Page 5: X-Debug in Php Storm

Ubuntu •  sudo apt-get install php5-dev php-pear •  Install xdebug thru PECL

o  sudo pecl install xdebug •  Then edit php.in add:

o  zend_extension="/usr/lib/php5/20060613/xdebug.so" o  [xdebug] o  xdebug.file_link_format="txmt://open?url=file://

%f&line=%1" o  xdebug.remote_enable = On o  xdebug.remote_autostart = 1

•  restart apache : sudo /etc/init.d/apache2 restart

Installation

Page 6: X-Debug in Php Storm

Ubuntu •  xdebug.profiler_̲enable  =  1xdebug.profiler_̲output_̲name  =  xdebug.out.%txdebug.profiler_̲output_̲dir  =  /tmpxdebug.profiler_̲enable_̲trigger  =  1

•  restart apache : sudo /etc/init.d/apache2 restart

Installation

Page 7: X-Debug in Php Storm

Mac (Using precompiled binaries) •  cd /tmp/ •  curl http://xdebug.org/files/xdebug-2.2.1.tgz >

xdebug.tgz •  tar -xvzf xdebug.tgz •  cd xdebug-2.2.1 •  phpize •  ./configure •  make •  make install

Installation

Page 8: X-Debug in Php Storm

Mac (Using precompiled binaries) •  on php.ini add the following line:

o  zend_extension="/usr/lib/php5/20060613/xdebug.so" o  [xdebug] o  xdebug.file_link_format="txmt://open?

url=file://%f&line=%1" o  xdebug.remote_enable = On o  xdebug.remote_autostart = 1

•  Restart Apache

Installation

Page 9: X-Debug in Php Storm

Windows •  Download appropriate xdebug version in

http://xdebug.org/download.php •  Save the .dll file to apache/modules folder •  On php.ini add the following lines

o  zend_extension="path/to/xdebug.dll" o  [xdebug] o  xdebug.remote_enable = On o  xdebug.remote_autostart = 1

•  Restart Apache

Installation

Page 10: X-Debug in Php Storm

•  Application -> Preferences -> PHP -> Debug -> DBGP Proxy •  Set Port to 9000 is recommended

Implement Xdebug to Php Storm

Page 11: X-Debug in Php Storm

•  https://chrome.google.com/webstore/search/xdebug •  Once you’ve installed the extension, right click the little bug appearing in

your address bar and go to the options.

Install XDebug Helper

Page 12: X-Debug in Php Storm

•  Set IDE key to PHPSTORM •  Set Domain Filter *.local

Install XDebug Helper

Page 13: X-Debug in Php Storm

•  After configuring right click the icon on your address bar •  Click Debug

Install XDebug Helper

Page 14: X-Debug in Php Storm

•  Click the “Start Listen PHP Debug Connections” button: •  add breakpoints by clicking the space next to the line

numbers on the left hand side

Start XDebug Session

Page 15: X-Debug in Php Storm

•  If everything goes according to plan, this window should pop up inside of PhpStorm to inform you of an incoming debug connection:

Implement Xdebug to Php Storm

Page 16: X-Debug in Php Storm

•  Resume Program (F9) — Clicking on this green arrow allows script execution to proceed to next breakpoint if you have any more, or to end of script as it normally would.

•  Stop (CTRL + F2) — Immediately halts script execution.

•  Step Over (F8) — Goes to the next PHP line in current file. Does not go into method calls made within current context.

•  Step Into (F7) — Goes to the next PHP line in current execution, not just the file. Dives into any method calls made, giving far more detail than Step Over.

•  Step Out - If you stepped into a function and want to get out before the end is reached, just step out.

Tools

Page 17: X-Debug in Php Storm

•  Variables — Displays all available variables, including objects, arrays or simple variables, at the current breakpoint.

•  Editing Variable - You can edit variables without reloading the page.

•  Run to Cursor - Run the specific line where the cursor is located.

Tools

Page 18: X-Debug in Php Storm

•  Tools -> Analyze XDebug Profiler Snapshot

•  Locate the file that used in config

a.  ex. /tmp/xdebug.out.1385202363

Profiling

Page 19: X-Debug in Php Storm

XDebug -> Sublime Text2 XDebug Integration to Sublime Text2

Page 20: X-Debug in Php Storm

•  Install Package Control

a.  https://sublime.wbond.net/installation

b.  control + ~

c.  Paste the python code to console

•  Open Package Manager (Command + Shift + p)

•  Type Install Package

•  Look for Kindari/SublimeXdebug

•  On XDebug Helper for IDE Key

a.  sublime.xdebug

Download XDebug Plugin

Page 21: X-Debug in Php Storm

•  Shift+f8: Open XDebug quick panel

•  f8: Open XDebug control quick panel when debugger is

connected

•  Ctrl+f8: Toggle breakpoint

•  Ctrl+Shift+f5: Run to next breakpoint

•  Ctrl+Shift+f6: Step over

•  Ctrl+Shift+f7: Step into

•  Ctrl+Shift+f8: Step out

Sublime XDebug Shortcut Keys