After getting my first low hanging fruit change contributed to Friendica I’ve decided to start tackling some larger problems. While my simple writing to the log debugging style worked fine for the first one I figured it was time to start doing real step-level debugging. As I wrote previously the whole setup of the XDebug PHP Debugger was feeling very Rube-Goldberg like. Finally last week I bit the bullet and decided to fully document setting up a PHP debug environment that allowed me to step through Friendica server and back-end worker code. The process turned out to be very fragile, mostly thanks to the PHP stack quirks but also added on some ARM64 Linux quirks probably, I ended up needing to start from scratch with the latest Ubuntu and gradually build up to getting it working. Because of that I’ve decided to document the whole thing with a series of posts (how many I actually get through TBD) to capture for my own personal use and posterity.
- Creating an ARM64 Ubuntu 22.04 Desktop VM in Parallels Desktop
- Getting XDebug Working on an Apache hosted PHP site
- Creating a local Friendica for development purposes
- Getting XDebug working for the Friendica server
- Getting XDebug working for the Friendica worker process
I’ll to crank out one of these a day from all the notes and screenshots I have from my own process. Writing all of that out at once would probably take too long. I’ll update this post to have links to each post as they are written as well.