A few moments ago I pushed the buttons and PHP 5.3.29 came out. As this is the final release for 5.3 it is a good time to look back. PHP 5.3's history starts somewhere in 2005. We knew what a pressure point of PHP was - a language made for solving The Web Problem needs a good Unicode story. So some developers went deep into that complex area and created a prototype version of PHP with Unicode support from deep within the engine. As this was a big and pressing issue and the need was obvious and the solution looked promising it was quickly areed on making that the base for a future PHP 6. And then time passed, initial enthusiasm passed and the sheer amount of work became obvious. Two years in we noticed that the ongoing PHP 6 work blocked other work - new features couldn't be added to 5.2, the current version at that time, and adding them to (at that time) CVS's HEAD.…[Read more]
If you follow my blog or twitter stream you might know I've recently been at Barcelona to attend the PHP Barcelona conference. Conferences are great for exchanging ideas one of the ideas I discussed with Combell's Thijs Feryn: They are a hosting company providing managed MySQL instances to their customers, as such they run multiple MySQL servers and each server serves a few of their customers. Now they have to provide every customer with database credentials, including a host name to connect to. The issue there is that a fixed hostname takes flexibility out of the setup. Say you have db1.example.com and db2.example.com over time you figure out that there are two high load customers on db1 while db2 is mostly idle. …[Read more]
Recently I gave a few public presentations and started to convert
the slides for making them available online. Here's the first
bunch with slides from two conferences which were held in
October, the International PHP Conference in Germany and PHP
Barcelona in Spain. As always: The spoken word is missing on the
Continue reading "Slides from IPC and PHP Barcelona"
It was a long run and I'm sure it felt like an eternity for many - for me it certainly did. PHP 5.3 was branched of over two years ago and finally is ready to be called 5.3.0.
The php.net website and many other blogs discuss the features - from often loved closures, to well discussed namespaces to the sometimes hated goto - so I think I don't have to this here but instead can focus on that what really matters:
- Thanks to all the developers - Without them no new features would be there.
- Thanks to the documentation team - Without them one would have to decipher the NEWS file and guess what exactly is meant.
- Thanks to all participants during the Testfest! - During the Testfest we received many good tests for our regression test suite. Many of these tests represent what people do, not what developers think they should do which is important to …
As others wrote, or as you can read on php.net or in my
twitter feed we've released the second, long awaited, release
candidate of PHP 5.3.0.
5.3 is rather big release including support for namespaces, closures, phar archives, internatioalization support via the new intl extension, improved SQLite support, mysqlnd as backend for the MySQL exensions, impressive performance improvements, ... and tons of other bigger and minor things.
Even though this server is running 5.3 already it's not suggested to be used in production evironments, yet but I'd really like to encourage everybody to test it and give feedback! I'm also interested in positive feedback, not …[Read more]
Ever wondered what your PHP application and MySQL actually do? An experimental mysqlnd branch will give you full access to the network communication stream. Using a custom PHP stream filter you can then intercept the communication ... but let's start at the beginning:
When talking about mysqlnd - the mysql native driver for PHP - we always mention the fact it's native in a way that we're, when possible, using PHP infrastructure. The most common example here is the memory management. By directly using PHP's memory we can avoid unnecessary copies of data from the MySQL Client Library's memory into PHP memory.
$mysqli = mysqli_connect("localhost", "root", "", "test");
$stream = mysqli_conn_to_stream($mysqli);
End October - time for the traditional meeting of the German and
International "PHP family" - end of October? - Yes, the
International PHP Conference is a bit earlier this year.
Additonally the organizers moved the conference away from the
industrial area of Mörfelden to the center of Mainz which sounds quite promising. Although I'll
spend only around 24hrs at Mainz I'm looking really forward to
the conference next week.
On Thursday morning I'll give a presentation about PHP 5.3, which will be quite interesting as one of the biggest features, namespaces, is still undergoing heavy discussions and the final syntax probably won't be clear when presenting - fortunately PHP 5.3 is much more than namespaces!
Sun will also be present at the …