x-debug in php storm
TRANSCRIPT
XDebug -> PHPStorm XDebug Integration to 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 ?
• 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 ?
• PHP Storm • Sublime Text 2 • Notepad++ • Vim
IDE Support
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 = 1xdebug.profiler_̲output_̲name = xdebug.out.%txdebug.profiler_̲output_̲dir = /tmpxdebug.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
Installation
• Application -> Preferences -> PHP -> Debug -> DBGP Proxy • Set Port to 9000 is recommended
Implement Xdebug to 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
• Set IDE key to PHPSTORM • Set Domain Filter *.local
Install XDebug Helper
• After configuring right click the icon on your address bar • Click Debug
Install XDebug Helper
• 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
• 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
• 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.
Tools
• Tools -> Analyze XDebug Profiler Snapshot
• Locate the file that used in config
a. ex. /tmp/xdebug.out.1385202363
Profiling
XDebug -> Sublime Text2 XDebug Integration to Sublime Text2
• 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
• 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