The folks at php.net have given me a very nice birthday present. As of today, they are end-of-lifing PHP version 4. Thanks guys, this is something I’ve wanted for a while now!
According to Trac this release contains 13 enhancements and fixes for
26 defects, although there was also a lot of internal cleanup and small
features added.
The wysiwg library has been updated from tinyFCK to FCKeditor
following the security alert discussed here:
I’ve had one developer contact me reporting a security compromise to
one of his servers following the publication of the tinyFCK exploit,
so please take care and upgrade to 0.6.5 or at least remove tinyfck to
be on the safe side. As mentioned before, being vulnerable to th ......
The folks at php.net have given me a very nice birthday present. As of today, they are end-of-lifing PHP version 4. Thanks guys, this is something I’ve wanted for a while now!
I woke this morning with a grin. Nope, nothing to with the Olympics; PHP 4 is dead and by that I mean it is no longer supported - no more official security updates for PHP 4 - or backports from PHP 5 or PHP 6. The last release of PHP 4.4 occurred yesterday.
Why is this important - and why am I grinning?
PHP 5 has improved support for Object Oriented Programming, PDO, numerous performance and security enhancements that make continuing to maintain or develop PHP4 specific code a mugs game.
The enhancements in PHP 5.3, which is scheduled to be released in October, and those in PHP6 make it all the more compelling to move from PHP4.
If you are a developer and are unaware of this or are clinging on to PHP4 for dear life, you’d do yourself a favour by evaluating all options open to you - including a change of career.
The hosting market may be slow to catch up but remember this: there will be ......
A couple of months before PHP 4.0.0 was released I had my first contact with PHP. I never really used PHP 3, I started my "PHP career" with beta versions of PHP 4.
Around the release date of PHP 4.0.0 I was in Berlin and met up with people from the PHP community for the first time in person: Kristian Köhntopp, Ulf Wendel, Sascha Schumann, Björn Schotte, Johann-Peter Hartmann, Till Gerken, and Tobias Ratschiller. Later that year, I was the second speaker (after Ulf Wendel) at the world's first PHP conference in Cologne, Germany.
By the time PHP 4.1.0 was released (in December 2001), I had met even more people: Rasmus Lerdorf and Derick Rethans (both in Brussles at FOSDEM) as well as Sterling Hughes (in New York and in Brussle ......
Well not really, because there are still millions of servers running PHP 4 that haven’t upgraded to the faster, more stable and more secure PHP 5 and most of them will continue to use it. So PHP 4 will still be around a while.
However last night PHP 4.4.9 was released which is the final security update by the PHP development team. This means from now on not only normal support (which was dropped at the end of 2007) but also security support for PHP 4 has ended. It is therefore recommended to finally upgrade.
Because I know that upgrading is sometimes not that easy Suhosin will continue to support PHP 4 for a while. This means the current Suhosin-Patch 0.9.6 will be ported to PHP 4.4.9 and also the next release of Suhosin-Patch will still support recent PHP 4 versions. However at th ......
Today is a day many people have been looking forward to for quite some time. No, it's not mass-marrying on 8-8-08, it's the day after the release of PHP 4.4.9. The important fact of this release is that it will be the final one for PHP 4. Ever. (Well, of course there might be the scenario of companies offering posthumous security patches, but that doesn't count here.) If you are still not convinced that PHP 4 is at the end of its life, just have a look at the changelog: the previous release is seven months old, and since then only five issues have been fixed.
I am aware that many sites, especially those with really old legacy code, will still not update (heck, I even know of some large PHP 3 based sites running strong [and insecure]), but if you have the resources to update your code base, yo ......
(Yes, I know, I’ve done no blogging in far too long. I’ve got a stack of stuff to blog about, but it’s all rather heavy. In the mean time, here’s something light.)
When executing code at the command line using php -r, be sure not to extend the Exception class. It will cause [...]
PHP 4 has come a long way. PHP 4 played a significant role in the internet boom, and thanks to a plethora of freely available PHP software, many internet users were enabled to make the internet a better place.
Now, PHP 4 has left us, forever. Thanks to release master Derick and all the other developers that have spent countless hours making PHP, the internet, and the world a better place. You are true heroes.
With PHP 4 gone, it is time to move on and look ahead: PHP 5.3, finally, is on the way of being released. And ultimately, PHP 6 will full Unicode support will shape up, and help us all to bring the world closer together. I am very much looking forward to that.
Ah, and for those that still need to migrate from PHP 4 to PHP 5, ......
PHP 4 has been with us (as "stable" release) since May 22nd,
2000. In the past 8 years it brought us lots of joy, but in the later
years lots of pain. A better PHP, PHP 5, as been a better alternative
for close to 3 years now so it's time to get rid of the old stuff that
PHP 4 really is.
PHP 4 had quite some changes over the past years though. The main
changes came with new mini releases:
4.1.0 (10 Dec 2001): The introduction of the super globals.
4.2.0 (22 Apr 2002): Register globals was turned off by default. The
release announcement shouts "External variables (from the
environment, the HTTP request, cookies or the web server) are no longer
registered as global variables".
4.3.0 (27 Dec 2002): Introduces "CLI", PHP's Command Line
Interface and streams.
The PHP development team would like to announce the immediate availability of PHP 4.4.9. It continues to improve the security and the stability of the 4.4 branch and all users are strongly encouraged to upgrade to it as soon as possible. This release wraps up all the outstanding patches for the PHP 4.4 series, and is therefore the last PHP 4.4 release.Security Enhancements and Fixes in PHP 4.4.9:Updated PCRE to version 7.7.Fixed overflow in memnstr().Fixed crash in imageloadfont when an invalid font is given.Fixed open_basedir handling issue in the curl extension.Fixed mbstring.func_overload set in .htaccess becomes global. For a full list of changes in PHP 4.4.9, see the ChangeLog.
Dhiraj Patra's Blog: Caching PHP Programs with PEAR
In a recent post to his blog Dhiraj Patra looks at the caching functionality that PEAR has to offer via the PEAR Cache package.
Caching is currently a hot topic in the PHP world. Because PHP produces dynamic web pages, scripts must be run and results must be calculated each time a web page is requested, regardless if the results are the same each time. In addition, PHP compiles the script every time it is requested. [...] PEAR's Cache package offers a framework for the caching of dynamic content, database queries, and PHP function calls.
He talks a bit about what kind of methods are included with the package and shows examples of how it works for function call caching, caching the output from the script execution and how to implement your own custom caching extension of the main code to make it even more ......
All I needed to do was renaming Trevi_Auth to Tilllate_Auth. Sure, it affected some 41 files, but that’s nothing a little bit of search & replace can’t do. The big headache started when I ran the unit tests.
Shuffle Unit Tests = Fail.
It’s absolutely amazing how much you can mess up unit tests just by changing their order! (Trevi_* comes after Tilllate_*) Everyone knows that tests are supposed to be independent. But we all know how it is. People get lazy, mocks are complicated and testing is boring anyway. And don’t forget about that cool pattern called “Singleton” that we’ve all read about in an inflight magazine!
Punish Me!
Obviously we can’t do testing right without getting beaten with a stick. So where’s that stick? Is there a way to reset all static variables in PHP? Is there a PHPUnit hack that forks a separate PHP process for each test?
Daniel Cousineau's Blog: Displaying N-Deep Trees (Remember Your Algorithms Course?)
On his Tower of Power blog Daniel Cousineau has written up a look at using a more detailed categorization method than just a parent/child relationship on your data - Tree Traversals.
If the software calls for only 2 levels of categorization (Parent and Child only), a simple nested for loop will suffice. However, software requirements change and you'll soon find yourself up shit creek without a paddle if you need to support 3 or 4 levels of nesting. [...] To those who's training is less formal (most web developers I meet have practical training, not formal), I'll help you out: Tree Traversals (or if you are completely lost, Recursion).