In order to put relatively static, unchanging interface code into a product, you have to kind of settle on a certain version, and hope it doesn't change. For things that don't seem to change much, API wise at least, like MySQL and a few other modules, it makes sense to just bundle the interface.
But should the interface API change even a little in this scheme, you might not be able to use the newer version of PHP with older versions of databases for example, or newer versions (talking sub revs here) of databases may not be supported quite right.
Luckily, most manufacturers install a WHOLE bunch of interface programs that lets PHP and other programs find out how the API is put together and work without having to have static code in PHP. If Postgresql bumps from 6.5.3 to 7.0 like it did earlier this year, and you can't hit the header files in the postgres install directory, you may not be able to access new databases. with the header files php picked right up on 7.0 and didn't need any tweaks to work with it.
The good news is, you don't really need to install it. All you need is a read only nfs mount to the box that HAS oracle. You're not going to run Oracle, just borrow it's header/API files.
If you can't get that, see about tarring up the parts of the install directory php expects.
Again, if programmers could (they can't) guarantee an API would never change, then yes, all this would likely be right inside the php.tar.gz file.
Note that some databases ARE hard coded right in, not external, most of these are either real old in terms of being supported by PHP like mysql, or real simple, like dbase files or whatever those old things were :)