Every widely distributed PHP application has its home grown installer that looks for depedencies, sets up a database, and checks permissions. Since PHP is interpretted, has no language support for namespaces, and no stored application state--simply defining how a PHP application gets installed is a non-trivial function.
There have been a attempts to create a common PHP application installer. They've faced lack of adoption, the same loose coupling and installation as the problem it attempts to solve,

I propose an extension to PHP, or even to Apache which allows the adding, upgrading, and removing of web applications in a fashion similar to the maintenance of WAR files for Tomcat. This will allow applications to ensure their needs are met, depdendencies installed, and allow the distribution of component libraries for supporting installations. I only hope this can enable the easy distribution of open-source applications like NSIS (Nullsoft's Installer) has done for desktop open-source applications in Windows.

[tags]installer,opensource, web[/tags]