
In the late 2000s and early 2010s, the trend among developers was to move to a virtual machine. If you’re developing your site on a Windows machine and uploading it to a Linux server, some of your code may not work at all once it’s uploaded. In addition, there are a couple of minor, but frustrating, differences between Windows and Linux. The versions of PHP, MySQL and Apache (or NGINX) may be different from the ones you installed as part of your XAMPP package. Bruno’s article outlines the problems with this approach, but the main issue comes when you want to put your site live on the Web. Using XAMPP made it very easy to get a web development environment up and running on your machine. If this describes you, it’s time to move on. If you hang around various PHP facebook groups, you’ll find that a significant portion of new developers still follow tutorials from this era and a large number of existing developers never moved on, so XAMPP is still used quite widely. These packages were things like XAMPP and WAMP, and at the click of a button they gave you a usable development environment.

Preconfigured Packages such as XAMPPīy the early to mid 2000s, people had started putting together all the required software in a single package which installed and configured all the software you needed. This was a time-consuming and daunting task in its own right for novice developers. You needed to know how to configure the web server, how to configure PHP, and you had to go through the process of manually installing and configuring all the software you used. Getting a development environment set up required significant expertise. Back then, if you were in the minority who didn’t just develop on the live web server (yes, we really did this, yes it was a terrible idea), you would manually install Apache, PHP and MySQL on your development machine. If, like me, you’re old enough to have been developing websites in the 90s, you’ll remember how frustrating the experience was. Manually installing PHP, MySQL and Apache I’ll quickly recap how things have changed over the years.

The “right way” has moved on quite significantly since then. That article is only from 2015, but five or six years is an eon in ever-moving web development timescales. At the time it was a fantastic introduction to the (then) best way to set up a local development environment. Until a couple of years ago, I sent everyone I was teaching to Bruno Skvorc’s excellent article Re-introducing Vagrant: The Right Way to Start with PHP. As a result, a lot of the tutorials get outdated quite quickly. (How did we ever cope without CSS Grid?) PHP is now on version 8, and even the tools we use to execute PHP scripts are being refined over time. CSS best practices change as new properties are added to the specification. One of the problems with web development is that things change at a rapid pace.
