Twenty Years of PHP
I know I am a day late, but PHP turned 20 yesterday! Congratulations!
Ben Ramsey wrote about his 20 years of PHP yesterday, and invited others to do the same. So here I go.
Back in 1999 during university, a few friends and I got annoyed by Schumacher's antics, and started the "Anti Schumacher Club". In order to have a membership part of our site (which thankfully can no longer be found on the Internet), we used PHP. Oh yeah, we also used it to scrape websites to find e-mail addresses to send our propaganda to.
My first patch to PHP was in June 2000 when I added support for Flash objects to getimagesize(). After an idiotic idea to implement MySQL subselects in PHP itself, I continued with my PHP career by starting to maintain the mcrypt extension later in 2000. It needed support for a new API version. Both getimagesize() and mcrypt support is something that I needed while working at the company that I started with the same guys as the Anti Schumacher Club. Throughout 2000 and later, I started to contribute little bits and bobs to PHP. These included committing Ilia's first extension, adding the 'u' modifier to printf/sprintf which prints unsigned longs, etc.
In April 2002, I started working on Xdebug. First by adding the max_nesting_level feature and functions to provide memory usage, and then later I added stack traces and support for the remote debugging. First by mimicking the PHP 3 handler, and then later by adding a GDB like debug handler, and DBGp. The PHP 3 and GDB handlers are of course a distant memory, but the DBGp protocol is still being used by IDEs to interact with Xdebug. Ilia implemented a basic profiler as well during 2002. I also "release mastered" PHP 4.1.1, various 4.2 releases during this time, and all the 4.4.x releases later.
The DBGp protocol is something that I developed with the guys from ActiveState in late 2003. Their Komodo editor still implements DBGp in the most comprehensive way, although other IDEs seem to be much more popular now. I implemented the same protocol for Maguma Workbench, and during my time there, eZ Systems approached me to come and work for them. I had previously spoken at an eZ summer camp, which provided a nice introduction to start a 5+ year employment relationship.
I started speaking a while earlier though, mostly on Xdebug, but also on SRM — some sort of application server for PHP. That never really got off the ground though, as it doesn't really fit the shared-nothing architecture of PHP. Since these first few speaking engagements, I have now given 326 talks at 201 conferences and user group meet-ups in 92 different locations.
After eZ Systems, and due to my work on Xdebug I decided to work for myself for a while. I started writing PHP extensions as a job, and due to that, I ended up contributing a little to the MongoDB driver. And that turned later into becoming an employee of MongoDB, where I now work on both the PHP and HHVM drivers.
Without PHP, none of this would have happened. I would not have moved to London without the persuasiveness of Johanna, whom I met at php[tek] in Chicago. She managed to convince me to give up the boringness of Norway and move into the "PHP House" in London. With her, Helgi, and Arpad (and on the weekends Scott), we wrote a lot of code, and threw a few parties as well. I wouldn't have met my wonderful wife Morag, met countless friends at various conferences and online, and I would certainly not have had a few dozen colourful pachyderms in my house! And it all started with Michael Schumacher, and some Danish guy that wrote some counters for his website.
Here's to another twenty years! Skål!
Life Line
TIL that Kingfishers can hover just like hummingbird. I'll hopefully have some reasonable shots after I've gone through my nearly thousand shots today...
I hiked 9.8km in 3h40m47s
Updated a restaurant
Updated a vacant business
I walked 7.1km in 1h16m56s
I walked 3.9km in 45m56s
I walked 1.1km in 10m47s
I think this was my favourite photo of the set that I took. It's not at maximum coverage, but it does have a sun spot group (4508) just on the cusp of the terminator.
#eclipse #eclipse2026 #SolarEclipse #London #Astronomy #AstroPhotography #Photography
No totality here in London, but still had a great evening out in the local park and taking some snaps.
I did have a nice Solar Filter that I made for my lens, and had many conversations with people from different backgrounds. Kids loves to look through my filter after I was done (ran out of battery power).
More photos later...
I walked 0.9km in 9m28s
I walked 1.2km in 19m05s
Merged pull request #1100
Fixed issue #2267: Application slow when debugger is not listening on…
I walked 4.7km in 48m18s
I walked 3.0km in 1h10m24s
Is there somebody who runs PHP on native windows (with Xdebug) and can run a simple script for me?
It must be in a file (`test.php`):
```
<?php
echo microtime(true), "\n";
xdebug_connect_to_client();
echo microtime(true), "\n";
```And run like:
php -dxdebug.log_level=11 -dxdebug.log=c:\temp\xdebug-i.log -dxdebug.client_host=localhost -dxdebug.client_port=9111 -dxdebug.mode=debug c:\temp\test.php
With the port 9111 not open.
Would love to see the output and log file (in a DM).
I walked 5.5km in 55m06s
@harry_wood This is this list of 100 Go-mistakes that I was talking about: https://100go.co/
Updated a crossing
I walked 2.1km in 20m08s
Enjoying my afternoon and evening out at Lords for some cricket!
I walked 3.2km in 38m54s
I walked 9.1km in 1h34m28s
Updated a gate
Updated a bakery shop




Shortlink
This article has a short URL available: https://drck.me/20yrs-brd