X-Debug in Php Storm
Upcoming SlideShare
Loading in...5

X-Debug in Php Storm






Total Views
Views on SlideShare
Embed Views



1 Embed 1

https://www.linkedin.com 1



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

X-Debug in Php Storm X-Debug in Php Storm Presentation Transcript

  • XDebug -> PHPStorm XDebug Integration to PHP Storm
  • What is XDebug ? •  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 ? •  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.
  • IDE Support •  PHP Storm •  Sublime Text 2 •  Notepad++ •  Vim
  • Installation 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 Ubuntu •  xdebug.profiler_̲enable  =  1 xdebug.profiler_̲output_̲name  =  xdebug.out.%t xdebug.profiler_̲output_̲dir  =  /tmp •  xdebug.profiler_̲enable_̲trigger  =  1 restart apache : sudo /etc/init.d/apache2 restart
  • Installation 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 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 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
  • Implement Xdebug to Php Storm •  •  Application -> Preferences -> PHP -> Debug -> DBGP Proxy Set Port to 9000 is recommended
  • Install XDebug Helper •  •  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 •  •  Set IDE key to PHPSTORM Set Domain Filter *.local
  • Install XDebug Helper •  •  After configuring right click the icon on your address bar Click Debug
  • Start XDebug Session •  Click the “Start Listen PHP Debug Connections” button: •  add breakpoints by clicking the space next to the line numbers on the left hand side
  • Implement Xdebug to Php Storm •  If everything goes according to plan, this window should pop up inside of PhpStorm to inform you of an incoming debug connection:
  • Tools •  •  •  •  •  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 •  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.
  • Profiling •  Tools -> Analyze XDebug Profiler Snapshot •  Locate the file that used in config a.  ex. /tmp/xdebug.out.1385202363
  • XDebug -> Sublime Text2 XDebug Integration to Sublime Text2
  • Download XDebug Plugin •  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
  • Sublime XDebug Shortcut Keys •  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