PHP Architect logo

Want to check out an issue? Sign up to receive a special offer.

PHP Alive and Kicking 2026.08.04

πŸŽ™οΈ PHP Alive and Kicking – August 4, 2026

Hosts: Chris Miller (standing in solo while Mike is on holiday)

Mike escaped to a beach so Chris hosts alone with special guest Derick Rethans. Expect date-time philosophy, PHP 8.6 goodies, Xdebug secrets, deprecation drama, and a heated debate about how to queue at a pub.

🐘 From University Websites to Committing to PHP
Derick traces his PHP origins back to his university days, building websites that needed database connectivity. ASP.NET was an option, but nobody wanted to pay for it β€” Linux was cool, and PHP was easy to start using. That combination hooked him early.

His very first accepted contribution came from a practical need: everyone wanted centered Shockwave Flash films on their pages, back before CSS even existed. Centering meant knowing the width of a file, and while getimagesize() already existed (and still works today), it didn’t understand Flash. Derick added that support.

From there he fell into bug triage, spending several years working through the issue tracker alongside Jani Taskinen (whose “Sniper” name still shows up in commit logs). For a long time it was just the two of them reproducing and fixing bugs β€” an important task that gets neglected easily, which is exactly how backlogs of a thousand issues and pull requests build up.

πŸ“… The Eternal Problem of Date and Time
Chris and Derick dig into why date-time bugs are so hard to triage: date algorithms are genuinely complicated, and it takes real time to figure out whether a report is a user’s mistake or an actual PHP bug. Crashes are easy to reproduce; subtle date arithmetic is not.

The core philosophical question is “what does adding a month even mean?” If it’s January 31st and you add a month, PHP historically just bumps the month number, producing February 31st, which overflows to March 2nd or 3rd. But most people who add a month really just want the next month and don’t care about day counts β€” so “next month” is conceptually distinct from “add a month.” Derick has been brainstorming better interfaces so people can’t make these mistakes, though it’s a lot of work.

They touch on Carbon as a unified interface people understand, but agree that making Carbon the language standard isn’t the right move. At the language level you need something that works for everybody and ideally doesn’t break existing code.

⏱️ What’s Coming in PHP 8.6
The first new time class is landing: a Duration object representing seconds and nanoseconds within a specific range, living in the Time namespace. It’s a trial run for new APIs and immediately useful β€” for example, passing a duration to sleep or to timeouts in the new polling API, rather than juggling raw integers.

Another highlight is partial function application. With the pipe operator from 8.5, piping into anything that takes more than one argument meant wrapping it in a closure (and extra parentheses because of how the parser works). Partials let you pre-fill some arguments so the resulting callable accepts just one β€” perfect for pipelines.

There’s also TLS session resumption support for streams, which lets OpenSSL shortcut the expensive session setup on repeated TLS connections. Bigger stream-layer work by Jakub Zelenka of the PHP Foundation is underway too, but that’s a huge job on old code and won’t make 8.6 β€” Chris and Derick both note the pain of keeping a year-and-a-half-long project in sync with the master branch.

🐞 Xdebug in 8.6 and the Xdebug Cloud
Xdebug’s recent headline feature (shipped with 8.5) is native path mapping, which lets you configure remote-to-local path mappings inside Xdebug itself instead of your IDE β€” handy when your code runs in Docker or on a dev machine. Feedback since release is driving quality-of-life improvements. For 8.6, relatively little is broken, though a change to how PHP reports line numbers needs untangling so debugging stops on the correct lines.

Derick also has a new code-coverage implementation that gives better, more correct results at roughly a 10% speed cost. He’d rather ship correct output than fast output β€” and points out that PHPCov may be quicker but skips path and branch coverage entirely. The pair discuss how branch coverage doubles your test count at every branching point, and how Xdebug has a hard limit (around 64K) to avoid running out of memory on pathological code.

Finally, Chris asks about Xdebug Cloud β€” a paid service that enables debugging where networking otherwise wouldn’t, such as remote teams sharing a single development machine (an SSH tunnel only lets one person listen on the debug port). It’s Β£15/month or Β£150/year for an individual, priced similarly to Packagist’s private packages, and helps fund Derick’s ongoing Xdebug work. He plans to do more marketing about it this year.

πŸ—‘οΈ Deprecations, Consensus, and Two-Thirds Votes
Every year PHP collects a big list of deprecations β€” around 20 to 25 this cycle β€” voted on separately. Derick is more reluctant than most to approve them, arguing many offer no clear user benefit. His examples: deprecating metaphone() (whose suggested Composer replacement ironically relies on the internal function) and the dechunk filter (which can’t really be removed because HTTP streams use it internally).

The list() deprecation is another sore point β€” Chris uses it, and the vote is tied 21–21 with one abstention, so it won’t pass under the two-thirds rule. Derick reminds everyone that “yes” needs to be twice “no.” Returning from a finally block is another candidate that makes little sense to use but hurts nothing to keep.

Chris and Derick reflect on how voting was originally meant to confirm consensus reached on the mailing list, not to be the decision itself. A 50%+1 result isn’t consensus; two-thirds is the compromise, even if true 75–80% agreement would be ideal. Joe notes many deprecations are groundwork to reserve keywords for future RFCs β€” which raises the perennial question of how you measure real-world usage across Composer’s dependency chains.

🌐 Infrastructure, the Website, and the Next Generation
The PHP infrastructure has been converted to an Ansible-based repository over the last year and a half (largely by Derick, with help from Joe), replacing a wild mix of individually maintained servers β€” one was still running FreeBSD 4.3. They’ve also migrated to a new CDN, which brought surprises: a default one-month cache, ignoring the query string in cache keys, and even dark/light mode being an organization-wide setting rather than per-user.

On the website side, everything currently lives in a single root directory of 1999-vintage code, and there’s a long-pending patch to restructure it. The PHP Foundation’s ambassadors program β€” with speaking, marketing, and research streams β€” aims to make the very techy php.net homepage speak to CTOs and newcomers about who uses PHP and why it’s a thriving project (only 31-ish years old, versus C’s 60).

The conversation closes on caretakers and the next generation of contributors. Triage, they stress, doesn’t require deep internals knowledge β€” just reading reports to see if they still make sense is hugely valuable. Security and infrastructure access necessarily stay gatekept for trust reasons, and both agree a bus factor of one (or even two) isn’t good enough. Chris admits he’s struggling to name people who are both nice and know infra.

Links from the show:

Host:

Chris Miller

Mike Page

Streams:

πŸ“¬ Connect & Hire

Looking to hire PHP developers? Email support@phparch.com – the team is available for consulting, infrastructure work, Ansible playbooks, and code review.

Partner

This podcast is made a little better thanks to our partners

Displace

 

Infrastructure Management, Simplified
Automate Kubernetes deployments across any cloud provider or bare metal with a single command. Deploy, manage, and scale your infrastructure with ease.
https://displace.tech/

 

 

OurCVEs

Your security posture, on autopilot with OurCVEs

 

CodeRabbit
CodeRabbit - cut code review time & bugs in half Instantly.

 

Cut code review time & bugs in half instantly with CodeRabbit.

 

PHP Architect Consulting
PHP Architect Consulting

 

Your PHP codebase deserves a partner, not a contractor
PHP Architect provides long-term technical partnerships for organizations that need senior-level PHP expertise that you can depend on.
https://www.phparch.com/consulting/

 

Music Provided by Epidemic Sound

https://www.epidemicsound.com/

🎯 Join Us Live Next Week

Youtube Channel


Got feedback? Join us on Discord at discord.phparch.com

Listen

Air date August 4, 2026
Hosted by Chris Miller, Mike Page
Guest(s) Derick Rethans

Our Partners

Collaborating with industry leaders to bring you the best PHP resources and expertise