Also, I'm guessing when you do install packages or Shared Objects in Linux, it's the same as adding the .dll files to your C:/Windows/system32 folder?
Correct, .dll and .so are shared objects, they are doing the same and working in the same way on both OS.
(BTW: in Linux and Windows you have a special extension dir for those shared PHP extensions. (not e.g. windows\system32 on Windows)
Sometimes a PHP extension needs other shared objects. These shared objects (.dll or .so) must be in the correct dir for your os (Linux: $LIBRARY_PATH; Windows: $PATH).
If so, then you could add all of your php extensions to the system32 folder and not need to enable them in the php.ini file, correct?
You have to put them into the PHP extensions dir and you must enable them in "php.ini" (because it's a shared extension!).
Only a static build in extension must not be enabled in "php.ini".
I've noticed most php extensions in Linux are installed as shared objects and do not require you modifying the php.ini file for them to be enabled.
That's not possible. A shared extension must always be enabled in "php.ini". But maybe there is a separate ini (e.g. extensions.ini) just for the extensions.
My question is how would you disable one without uninstalling it?
Disable them, in what ever INI they are enabled.
Most of them are installed by installing the *-dev packages, right?
I don't know anything about Ubuntu.
How would you install it so it doesn't automatically load?
Just two rules for every OS:
- If you have static build-in extensions: Make a new PHP compilations without this extension
- If you have a shared extension: Disable this extension in "php.ini" (or an extra ini) .