Recently, while looking through my backups, hoping I’d finally stumble upon a long-forgotten Bitcoin wallet that never seems to materialize, I uncovered another artifact of similar value, though sentimental rather than monetary. I found some old backups from a community I joined and eventually took the technical reins of, sometime around 2011.
Ecstatic about the find, I started spelunking through the code and database dump, unraveling long-forgotten memories. It was an old phpBB forum, version 3.0.9, running on the good old PHP 5.6 backed by MySQL 5.7. Name a better duo.
Reanimation
My first thought was to set it up again. But after a decade of web development, I’ve grown somewhat pessimistic about modern tech stacks, so I initially shelved the idea, sure it would be a pain to get running again. Instead, I just resumed manually (rip)grepping through the code and SQL.
That didn’t last long. With some time on my hands, I decided to give it a try. I remembered I had Docker, and surely there must still be images out there for PHP 5.6 and MySQL 5.7, and indeed, there were.
After literally 30 minutes of work, mostly spent writing my own Dockerfile for PHP to include a few extra extensions, the forum was back online, alive again after more than 12 years since the last post was made.
The happiness of seeing such a tangible blast from the past come alive was matched by my surprise at how smoothly it all worked. No fuss, no dependency hell, no broken repositories lost to time. I’m still in awe. Even some of the current projects I work on take hours to boot up, and that’s for maintained, production-grade software.
I feel like we have definitely lost something and I am not sure what we have gained.
Why this still worked?
Because it was just the old LAMP trio doing its thing: Apache, PHP, MySQL no extra daemons, no third-party services, no six package registries to appease, nothing to phone home for at boot, so there was basically nothing to rot in the middle all these years.
phpBB from that era was built to run on a wide, boring baseline and it stayed well within the guardrails, plain PHP 5.x, MySQL, a config.php pointing at a database and when you recreate exactly that baseline, it just wakes up like it took a nap, not a coma.
The real trick was not "upgrading" anything: PHP 7/8 introduce a bunch of backwards-incompatible gotchas (evaluation order changes, foreach by-reference quirks, non-static calls, etc.), but by pinning the runtime to PHP 5.6 you sidestep all those mines entirely, so the code runs exactly like it did back then.
Docker turns this into time travel: pull PHP 5.6 and MySQL 5.7, mount the files, import the dump, wire up config.php, and you’ve basically rebuilt 2011 without arguing with today’s OS packages or toolchains that have “moved on” without you.
And because phpBB’s state lives in MySQL and not in some bespoke search/index/auth service, the restore path was hilariously simple: import database, point app at it, done, no rebuild step, no vendor dance, no missing artifact servers from a decade ago. (well, here I am lying a bit, we lost all the images)
That’s the punchline: the smaller the dependency surface and the more boring the assumptions, the higher the odds it still boots a decade later, unlike modern stacks that scatter themselves across multiple runtimes and registries and then age about as gracefully as milk left on the counter.
What now?
Obviously, putting such old software online today would be a security nightmare, given the millions of exploits PHP and MySQL have accumulated since then. Still, I might just publish the HTML as a static archive, for posterity’s sake.
▶ RELATED POSTS
» ZSH Alias Last Command and Alias + Persist commands
Introduction If you find yourself constantly running the same long commands on your terminal, setting up quick aliases can be a game-changer. This blog post will walk you through creating two handy ZSH functions that allow you to define and save aliases on-the-fly. With these, you can alias any
» The Power Of Choosing Optimism
"The happiness of your life depends upon the quality of your thoughts." - Marcus Aurelius My first memories of childhood are grey, not in the cool, noir style of 1920s movies, but in the bleak, post-communist greyness of 1990s Romania. I was surrounded by people who had hoped for freedom for so
» Stuff I Use
A small list of the stuff that I use every day.
▶ COMMENTS
Comments from this blog and Bluesky
No comments yet. Be the first to comment!