Marco Tabini writes about the need of a greater marketing and business strategy in PHP to be able to compete with other technologies such as Java or .NET.
Now, my personal experience with this subject is pretty recent. I have been working for a biotech company where we develop an internal application in PHP that is used across the enterprise to manage the workflow of the research scientists and research projects. A part of this application is also used by partners that pay fees to have access to our propertory data.
This application evolved through the years, and as it is expected, the codebase got so complex and rigid that it became increasingly difficult to be flexible and implement customizations for specific installations of the application to partners. Last year the upper management of the company decided that we needed to move this whole codebase to an Oracle database (it used to be MySQL) and re-write the portions of the software that are released to partners in Java.
My point with this rant is that most of the times marketing regarding the PHP language itself, and the tools available to developers will not make any difference in the decision from a director or VP to go with Java or not. Corporations like the idea of having real corporate support and tools that have been proven as effective in the industry. My whole development team was a part of this decision to go with Java, and I can tell you that there were some good reasons to go with it.
Don’t get me wrong please, I continue to use PHP as the language of choice for most of my web application projects, such as Eventum, but there are some problems regarding the uses of PHP for commercial software. Most of them seem to be related to different behaviors of the same software in different platforms, such as the GD library having a slightly different font size for FreeBSD than for Linux (which might be related to the underlying font libraries) or the assorted bugs (#13936) that only happen in specific versions of PHP and the platform. All of these little things make the job of creating a portable codeset extremely difficult.