PHP 4 End of Life Announcement
perbert writes "The PHP development team has announced that support for PHP 4 will continue until the end of this year only. After 2007-12-31 there will be no more releases of PHP 4.4. Critical security fixes will be made available on a case-by-case basis until 2008-08-08. For documentation on migration for PHP 4 to PHP 5, there is a migration guide. There is additional information available in the PHP 5.0 to PHP 5.1 and PHP 5.1 to PHP 5.2 migration guides as well."
I hope that everyone has moved beyond PHP 4.X by this point. 5.X is more secure and capable.
Put identity in the browser.
While I can completely understand the need for this to occur, I can see this causing alot of problems for many small businesses, personal webpages, and hosting companies. PHP5 is definitly worthwhile switching to from PHP4, but there are so many poorly coded sites out there that wont run properly under PHP5, and this at some point is going to cause a nightmare for various hosting companies.
Your typical small business or personal webpage will frequently use PHP, and have little knowledge of how to fix their code to get it working, or how to upgrade their 3rd party software to a PHP5 Compatible version. At the same time hosting companies who will reach a point where they need to upgrade to PHP5 in order to keep their systems as secure as possible (because PHP4 security fixs might not be coming out) will be faced with many angry customers who are unwilling to spend time or money to change a site that they see as working previously.
I can completely understand why a company might need to stop supporting an old version of their product at some point when newer ones are freely available, I just am not looking forward to all the headaches its going to cause. I can hear the phones of angry customers threatening to kill me because i "broke their site" now.
Oh well, hopefully all PHP5 code will wind up working just fine in PHP6 when it comes out.
http://interserver.net/
PHP began as a hacky side project of a lone developer (Rasmus Lerdorf). I'm not wholly aware of the details, but my understanding is that Rasmus was a Perl coder and wanted to generate minorly dynamic web pages by putting Perl-like code inside of his HTML. As the capabilities of his technology grew, he released it as an open source project, and due to its extreme ease of use it quickly turned into a popular web development language.
The reason PHP5 could not continue backward compatability is because of its roots: It was designed to be EASY. In the first few releases, there wasn't serious thought put into making a proper software development language. But as web pages became more complex, soft typing, lack of proper scope, and lack of OOP patterns made developing complex PHP applications a world of horror. In addition, concepts like putting all query parameters into the scope of the program, which made developing simple applications easy, created a difficult situation for those trying to make complex applications secure. So to remove these security problems, and to remain relevant by providing richer programming constructs like classes, PHP had to break backwards compatibility.
And while Java is mostly backwards compatible, the technologies for developing Java on the web have changed dramatically. Originally, JSP developers would put Java code right in their HTML! Today this is highly frowned upon (though backward compatible). So developers switched to JSP tags, such as the JSP Standard Tag Library, which coincidentally enough aren't backward compatible between versions. If you're running a Java app server, you'll definitely run into problems when upgrading WebSphere, WebLogic or Tomcat, due to updated tag libraries and other JARs being incompatible with their previous versions. These problems aren't as bad as porting your average PHP app from PHP4 to PHP5, but upgrading versions not a straight-forward process with either programming language.
Stepping back, PHP is in a pretty similar spot to Visual Basic. VB.NET is wholely incompatible with VB6. Microsoft has announced a dropping of support for VB6. However, half of VB developers still program in VB6. Many VB programmers don't understand VB.NET's features, and hence are quite reluctant to move to VB.NET (and they're probably angry, too). And most existing VB6 code would nearly require a complete rewrite to get running in VB.NET. What might just happen is that Microsoft and PHP will have to continue supporting their legacy versions or simply lose beginning programmers as customers. Microsoft will probably continue to end-of-life VB6, but I believe they will release a language highly similar to VB6 that's easier to move over to. It will be interesting to see whether PHP follows a similar path or just leaves its developers to either learn PHP5 or move to another webby language, like Python.
my blog
This is a great move I think. php 5 has been out for years, superior and pretty backward compatible to php 4. Many problems in the past with 4.3/4.4 and 5.0/5.1 releases have happend due to the backward compatibility of php 5. I hope this will ease development and result in a robuster solution.
b le.phpt ion5.changes
Becasue php5 is already in the wild for years and there is still more than a year of security updates available, I think there should be time enough for migration to php5. I is also not too hard to migrate, I have done this in the last 1-2 years on many sites. There are some really annoying changes in php 5 but the php guys have documented it well [1].
Using the "Migrating from PHP 4 to PHP 5"[2] Documentation was very helpfull and it turned out to be pretty easy (except for scripts/applications which were already ported from php 3 and still were using php 4 backward compatibility "features").
1) http://www.php.net/manual/en/migration5.incompati
2) http://www.php.net/manual/en/migration5.php#migra
PHP5 could not continue backward compatability, PHP had to break backwards compatibility, ...
I keep reading this and am wondering if you ever ported code from PHP4 to PHP5. I did it with a bigger project and the only problem I had was, that someone had uses StdClass without creating an empty instance first. Took about a day to fix that. It's nothing like VB6 vs. VB.NET.
Coinciding with this announcement is the launch of a campaign to switch major PHP-based Web applications to PHP5-only support. The GoPHP5.org website has details.
Projects supporting this move have pledged that by Feb. 5, 2008, they will no longer accept PHP4-specific changes in their codebase and that all future upgrades will assume PHP5 availability.
This doesn't mean they are rewriting all their code to OOP-style, or that they will end legacy version support for security patches, et cetera. What it means is that the developers are liberated from having to code around PHP4's limitations and can take advantage of PHP5 features for all future enhancements.
Often something that might require hundreds of lines of code in PHP4 can be done with just a few in PHP5. The SimpleXML parser is probably the best example.
Application teams already on board for this switch include Drupal, phpMyAdmin, Typo3, Symphony, Gallery, DeskPRO, and many others. Several major projects not yet committed are known to be preparing to do so.
This is most important to hosting companies as a signal that robust PHP5 support is a requirement going forward.