In a previous job, I had quite some exposure to PHP and MySQL running on Linux and Apache (LAMP). This dates back about 5 years so I can safely say that PHP has never been treated as a serious contender in its field. The same goes for MySQL. A telling moment was when I advertised for a PHP Coder - 80% of applications were under 21, 80% of those were either currently studying or had never studied at a tertiary level. 20% of the applicants tried in some way to change my development environment!

Why? PHP is, in my opinion, the Volswagen of scripting languages. It was developed for a specific purpose, embraced by a large number of users and has ended up being used for purposes far beyond its original intentions. For crikey's sake, the first Porsche vehicles were modified VW just as some high traffic sites have used PHP!

Does this make PHP a good choice? No, not in every case. If you are an amateur (in the true sense of the word) or otherwise restriced by a tight budget, then you can make PHP do a lot of 'stuff'. We had a fairly comprehensive online training and organisational assesment tool constructed. I'm not well versed in the current limitations of PHP, but there were some procedural and security based concerns during my time with it. But the biggest problem is that is not considered a serious tool by the industry. If you were trying to get funding for your concept, then this was a black mark against you.

I can get by in PHP and it is the scripting language that I am most proficient in, but to me is on the same level as BBC Basic. You can do some cool stuff with it for fun, but if you are seriously developing, then use something else.

What should you use? PHP. It is becoming more sophisticated, there is lots of free support but the kicker is AJAX. AJAX will shift alot of the scripting to the client and will result in applications with an improved user experience. Example: Google Maps.

Another excellent option is Ruby on Rails which aims to minimise the amount of code and configuration required in an application. The system is aware of each module and will facilitate communication if the conventions are maintained. Example Basecamp I especially like the idea of AJAX on Rails.

Finally, Apple's WebObjects is also worth looking at for commercial applications. I was impressed by both the deveopment environment and time to deploy. I haven't had a lot of exposure other than as a user.

I'll leave it as an exercise for the reader to explore these ideas!