X-Debug in Php Storm
-
Upload
klabcyscorpions-techblog -
Category
Education
-
view
5.588 -
download
3
Transcript of X-Debug in Php Storm
![Page 1: X-Debug in Php Storm](https://reader034.fdocuments.net/reader034/viewer/2022052504/554a08a9b4c905557a8b57e5/html5/thumbnails/1.jpg)
XDebug -> PHPStorm XDebug Integration to PHP Storm
![Page 2: X-Debug in Php Storm](https://reader034.fdocuments.net/reader034/viewer/2022052504/554a08a9b4c905557a8b57e5/html5/thumbnails/2.jpg)
• 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](https://reader034.fdocuments.net/reader034/viewer/2022052504/554a08a9b4c905557a8b57e5/html5/thumbnails/3.jpg)
• 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](https://reader034.fdocuments.net/reader034/viewer/2022052504/554a08a9b4c905557a8b57e5/html5/thumbnails/4.jpg)
• PHP Storm • Sublime Text 2 • Notepad++ • Vim
IDE Support
![Page 5: X-Debug in Php Storm](https://reader034.fdocuments.net/reader034/viewer/2022052504/554a08a9b4c905557a8b57e5/html5/thumbnails/5.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022052504/554a08a9b4c905557a8b57e5/html5/thumbnails/6.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022052504/554a08a9b4c905557a8b57e5/html5/thumbnails/7.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022052504/554a08a9b4c905557a8b57e5/html5/thumbnails/8.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022052504/554a08a9b4c905557a8b57e5/html5/thumbnails/9.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022052504/554a08a9b4c905557a8b57e5/html5/thumbnails/10.jpg)
• 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://reader034.fdocuments.net/reader034/viewer/2022052504/554a08a9b4c905557a8b57e5/html5/thumbnails/11.jpg)
• 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](https://reader034.fdocuments.net/reader034/viewer/2022052504/554a08a9b4c905557a8b57e5/html5/thumbnails/12.jpg)
• Set IDE key to PHPSTORM • Set Domain Filter *.local
Install XDebug Helper
![Page 13: X-Debug in Php Storm](https://reader034.fdocuments.net/reader034/viewer/2022052504/554a08a9b4c905557a8b57e5/html5/thumbnails/13.jpg)
• After configuring right click the icon on your address bar • Click Debug
Install XDebug Helper
![Page 14: X-Debug in Php Storm](https://reader034.fdocuments.net/reader034/viewer/2022052504/554a08a9b4c905557a8b57e5/html5/thumbnails/14.jpg)
• 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](https://reader034.fdocuments.net/reader034/viewer/2022052504/554a08a9b4c905557a8b57e5/html5/thumbnails/15.jpg)
• 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](https://reader034.fdocuments.net/reader034/viewer/2022052504/554a08a9b4c905557a8b57e5/html5/thumbnails/16.jpg)
• 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](https://reader034.fdocuments.net/reader034/viewer/2022052504/554a08a9b4c905557a8b57e5/html5/thumbnails/17.jpg)
• 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](https://reader034.fdocuments.net/reader034/viewer/2022052504/554a08a9b4c905557a8b57e5/html5/thumbnails/18.jpg)
• 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](https://reader034.fdocuments.net/reader034/viewer/2022052504/554a08a9b4c905557a8b57e5/html5/thumbnails/19.jpg)
XDebug -> Sublime Text2 XDebug Integration to Sublime Text2
![Page 20: X-Debug in Php Storm](https://reader034.fdocuments.net/reader034/viewer/2022052504/554a08a9b4c905557a8b57e5/html5/thumbnails/20.jpg)
• 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](https://reader034.fdocuments.net/reader034/viewer/2022052504/554a08a9b4c905557a8b57e5/html5/thumbnails/21.jpg)
• 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