PHP probably holds the world record for the greatest number of autoconf flags in a single software package. At last count, it had 188 different configure switches. Freeping Creaturism? Not really — PHP is glue. It glues many different third-party libraries to the Web server, and it lets you control how many are glued in. Most PHP extensions can be built as standalone shared libraries that are loaded at runtime. Just add =shared after an extension switch, such as:
You will end up with a modules/ftp.so file that can be dynamically loaded using dl() directly from any PHP script. Or, you can add extension=ftp.so to php.ini, and the functions in that extension will be available to every script.