Cross-platform compatibility
PHP and MySQL run native on every popular flavor of Linux/Unix ( Mac OS X) and Microsoft Windows. Most of the world’s Hypertext Transfer Protocol (HTTP) servers run on one of these two classes of operating systems.
PHP is compatible with the leading web servers: Apache HTTP Server for Linux/Unix and Windows
and Microsoft IIS Server (Internet Information Server). It also works with several simple, known servers.
Stability
The word stable means two different things in this context:
- The server doesn’t need to be rebooted or restarted often.
- The software doesn’t change radically and incompatibly from release to release.
To our advantage, both of these points apply to both MySQL and PHP.
Apache Server is generally considered the most stable of major web servers, with a reputation for enviable uptime percentages. Most often, a server reboot isn’t required for each setting change. PHP inherits this reliability; plus, its own implementation is solid yet lightweight.
PHP and MySQL are also both stable in the sense of feature stability. Their respective development teams are enjoyed a clear vision of their projects and user demand that comes along. Much of the effort goes into incremental performance improvements, communicating with more major databases, or adding better OOP support. In the case of MySQL, the addition of reasonable and expected new features has hit a rapid clip. For both PHP and MySQL, such improvements have rarely come at the expense of compatibility.
Many extensions
PHP makes it easy to communicate with other programs and protocols. The PHP development team
seems committed to providing maximum flexibility to the largest number of users. Database connectivity is especially strong, with native-driver support for about 15 of the most popular databases plus Open DataBase Connectivity (ODBC). In addition, PHP supports a large number of major protocols such as POP3, IMAP, and LDAP. Earlier versions of PHP added support for Java and distributed object architectures (Component Object Model [COM] and Common Object Request Broker Architecture [CORBA]), making n-tier development a possibility for the first time, fully incorporated GD graphics library and revamped Extensible Markup Language (XML) support with DOM and simpleXML.
Fast feature development
Users of proprietary web development technologies can sometimes be frustrated by the glacial speed at which new features are added to the official product standard to support emerging technologies. With PHP, this is not a problem. All it takes is one developer, a C compiler, and a dream to add important new functionality. This is not to say that the PHP team will accept every random contribution into the official distribution without community buy-in, but independent developers can and do distribute their own extensions that may later be folded into the main PHP package in more or less unitary form. For instance, Dan Libby’s elegant xmlrpc-epi extension was adopted as part of the PHP distribution in version 4.1, a few months after it was first released as an independent package.
PHP development is also constant and ongoing. Although there are clearly major inflection points, such as the transition between PHP4 and PHP5, these tend to be most important deep in the guts of the parser — people were actually working on major extensions throughout the transition period without critical problems. Furthermore, the PHP group subscribes to the open source philosophy of “release early, release often,” which gives developers many opportunities to follow along with changes and report bugs.
Not proprietary
The history of the personal computer industry to date has largely been a chronicle of proprietary standards: attempts to establish them, clashes between them, their benefits and drawbacks for the consumer, and how they are eventually replaced with new standards. In the past few years the Internet has demonstrated the great convenience of voluntary, standardsbased, platform-independent compatibility. E-mail, for example, works so well because it enjoys a clear, firm standard to which every program on every platform must conform. New developments that break with the standard (for example, HTML-based e-mail stationery) are generally regarded as deviations, and their users find themselves having to bear the burdens of early adoption. Furthermore, customers (especially the big-fish businesses with large systems) are fed up with spending vast sums to conform to a proprietary standard only to have the market uptake not turn out as promised. Much of the current momentum toward XML and web services is driven by years of customer disappointment with Java RMI (Remote Method Invocation), CORBA, COM, and even older proprietary methods and data formats. Right now, software developers are in a period of experimentation and flux concerning proprietary versus open standards. Companies want to be sure that they can maintain profitability while adopting open standards. There have been some major legal conflicts related to proprietary standards, which are still being resolved. These could eventually result in mandated changes to the codebase itself or even affect the futures of the companies involved. In the face of all this uncertainty, a growing number of businesses are attracted to solutions that they know will not have these problems in the foreseeable future. PHP is in a position of maximum flexibility because it is, so to speak, antiproprietary. It is not tied to any one server operating system, unlike Active Server Pages. It is not tied to any proprietary cross-platform standard or middleware, as is Java Server Pages or ColdFusion. It is not tied to any one browser or implementation of a programming language or database. PHP isn’t even doctrinaire about working only with other open source software. This independent but cooperative pragmatism should help PHP ride out the stormy seas that seem to lie ahead. Strong user communities PHP is developed and supported in a collaborative fashion by a worldwide community of users.
Some core developers are more equal than others, but that’s hard to argue with, because they put in the most work, had the best ideas, and have managed to maintain civil relationships with the greatest number of other users. The main advantage for most new users is technical support without charge, without boundaries, and without the runaround. People on the mailing list are available 24/7/52 to answer your questions, help debug your code, and listen to your gripes. The support is human and real. PHP community members might tell you to read the manual, take your question over to the appropriate database mailing list, or just stop your whining — but they’ll never tell you to wipe your C drive and then
charge you for the privilege. Often, they’ll look at your code and tell you what you’re doing wrong or even help you design an application from the ground up.
As you become more comfortable with PHP, you may wish to contribute. Bug tracking, offering
advice to others on the mailing lists, posting scripts to public repositories, editing documentation, and, of course, writing C code are all ways you can give back to the community. MySQL, while open source licensed for non-redistributive uses, is somewhat less community driven in terms of its development. Nevertheless, it benefits from a growing community of users who are actively listened to by the development team. Rarely has a software project responded so vigorously to community demand, and the community of users can be extremely responsive to other users who need help. It’s a point of pride with a lot of SQL gurus that they can write the complicated queries that get you the results you are looking for but had struggled with for days. In many cases, they’ll help you for nothing more than the enduring, if small, fame that comes with the archived presence of their name on Google Groups.
No comments:
Post a Comment