I have set up my local development machine (Mac Mini(late 2014) , El Capitan 10.11.6) for WordPress PHP development and debugging, specifically for WordPress Plugin Development. I prefer to to use Eclipse PDT and Xdebug for debugging.
We also use our quick start guide to install WordPress for local development on your development machines.
The only issue I had really was configuring Eclipse PDT for debugging using Xdebug. This was due to little gotcha’s , I ran into initially that I lost a bit of time on so I thought I would document this with the hope of saving somebody else time. (Always believe in paying forward 🙂 )
Install Xdebug via HomeBrew
In my particular instance we are developing and testing for WordPress using PHP 7.0 , if you looking for a particular PHP version of xdebug simply swap out the version numbers
brew install php70-xdebug
Due to the fact that a few of PHP frameworks, in our case CakePHP and Laravel, all need xdebug to be deactivated for when they do generation, it install a handy little CLI program to toggle Xdebug on and off.
brew install xdebug-osx
This enable to simply switch xdebug on or off from the terminal :
xdebug-toggle on ##Switch on xdebug-toggle off ## Switch off
Edit Xdebug Config
We need to make a few edits to the xdebug configuration, if you’re using POMAMA, you can get the information as regards it’s location from PHPInfo,
We’ll use nano to edit this file, these are the settings that worked for me. You may want to edit them for your environment
sudo nano /usr/local/etc/php/7.0/conf.d/ext-xdebug.ini
[xdebug] zend_extension="/usr/local/opt/php70-xdebug/xdebug.so" xdebug.enable=1 xdebug.remote_handler=dbgp xdebug.remote_mode=req xdebug.remote_enable=1 xdebug.remote_autostart=1 xdebug.idekey=ECLIPSE_DBGP xdebug.remote_host=localhost xdebug.remote_connect_back=1 xdebug.remote_port=3001
We now need to restart our apache webserver for the changes to take effect. Ensure you have toggled xdebug to on before you restart.
sudo apachectl -k restart
Open your eclipse PDT and open your WordPress Project . We make use of Eclipse Neon internally so the screens may look a little different depending on your version of Eclipse. I am assuming you have created a new PHP Project and imported your WordPress installation.
Configure a new PHP Web Application debug configuration
Configure the debugger to be xDebug and configure it to use the same port as you set as the remote_host in xdebug.ini
Uncheck the Break at First Line checkbox, as you don’t really want to step through 1000’s of lines of code to get to your issue 🙂
Enter your base URL for your wordpress installation.
In our case we make use of dnsmasq to create local dns names so our base url is usually http://wordpress.dev. If you followed our links earlier your setup should be similar.
You can now click finish.
You should now be able to place a break point at any area of the code your interested in, hit the debug and open the Debug Perspective.
If you run into issues with a “Waiting for Debug” play around with the port numbers, but usually 3001 works well for us.
A unique background as business owner, marketing, software development and business development ensures that he can offer the optimum business consultancy services across a wide spectrum of business challenges.
Latest posts by Gary Woodfine (see all)
- How to run PHP Server with BrowserSync and Gulp - September 2, 2018
- How to change WordPress User Password in phpMYAdmin - July 28, 2018
- 8 Plugins you need for your WordPress Website 2018 - July 1, 2018