Debugging Joomla with Komodo IDE
From Joomla! Documentation
Installation[edit]
WIP
Download and install Komodo IDE[edit]
Download and install Komodo IDE
Create a project[edit]
Open up Komodo and create a project in your installed MAMP
located on a MAC '/applications/joomla-3.4.3-1/apps/joomla' this will display all files in the left side panel of the IDE.
This will allow you to directly edit and debug your code.
Configure IDE for debugging[edit]
Modifying the php.ini file[edit]
In order to use the debugger you need to modify the php.ini file of the Apache server you are using. Follow these instructions here
On a MAC using MAMP
- Goto /applications/joomla-3.4.3-1/php/etc/php.ini
- open up this file with your favourite text editor
- do a search for xdebug you should find something like this:
;[XDebug]
;; Only Zend OR (!) XDebug
;zend_extension="/Applications/mampstack-5.5.27-0/php/lib/php/extensions/xdebug.so"
;xdebug.remote_enable=true
;xdebug.remote_host=127.0.0.1
;xdebug.remote_port=9000
;xdebug.remote_handler=dbgp
;xdebug.profiler_enable=1
;xdebug.profiler_output_dir=/tmp
Delete the ; in front of the text under ';; Only Zend OR (!) XDebug' so it reads like this:
;[XDebug]
;; Only Zend OR (!) XDebug
zend_extension="/Applications/mampstack-5.5.27-0/php/lib/php/extensions/xdebug.so"
xdebug.remote_enable=true
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.profiler_enable=1
xdebug.profiler_output_dir=/tmp
Then do a search for implicit_flush you will find
implicit_flush = Off
Change the Off to On
implicit_flush = On
Save your changes
Restart your apache server
In the IDE[edit]
Open up preferences select--> languages -->PHP
Default php interpreter[edit]
Under the label 'Default php interpreter' use the following:
- goto 'Use this interpreter' browse to
/applications/joomla-3.4.3-1/php/bin/php
- Under the label 'Default composer interpreter' browse to
/applications/joomla-3.4.3-1/php/bin/php
- Under the label 'Path to alternative PHP configuration file' browse to
/applications/joomla-3.4.3-1/php/etc/php.ini
Listen for debugging[edit]
Then select in preferences -->Debugger-->Connection
Debugger Connection[edit]
Under 'Komodo should listen for debugging connections on:' Change option to 'a specific port:9000' make sure it is set to 9000 this is what should be set in the php.ini file.
Open up preferences select--> languages -->PHP Under the debugger Configuration you should see 'Successfully configured for local PHP debugging.' If not you can click on 'Re-check Config'
Click OK to save changes
Debugging options[edit]
Under the debug menu select 'Step In' this will open up a new window titled 'Debugging Options'. Create a new configuration name it 'joomlaphp' click ok
- In Language enter in PHP
- In Interpreter Arguments click on the arrow to the right of the area
select 'look for php.ini file in this directory'. browse to /Applications/joomla-3.4.3-1/php/etc it will then display '-c /Applications/joomla-3.4.3-1/php/etc'
- In Script browse to
/Applications/joomla-3.4.3-1/apps/joomla/htdocs/index.php
- In Directory browse to
/Applications/joomla-3.4.3-1/apps/joomla/htdocs
Under the label 'Select the interpreter to use for debugging select option' - 'Use the CGI interpreter (php-cgi or php)'.
When ok is click it will start to run and open up the index.php and stop at the first entry point. From there you can go/continue, step in, step over, and step out.
If go/continue is selected it will goto the first breakpoint in your code if you have created one.