Currently, I’m working with a company that has several different projects, all running on an older copy of a PHP framework. That PHP framework is installed in a shared directory on the server, and added to PHP’s include path, so that typing require 'Framework/Lib.php or whatever will load Lib.php from the shared directory. None of the projects have their own copy of the framework.
I see this as a pretty bad idea, but I’m not really sure why (Other than the main point of not being able to update the framework, so we’re stuck using an old version).
Are there any other negative side effects to this, or is it not as bad as I think?
This isn’t a problem, nor unusual.
If you need to have multiple copies of a library or framework, you can set the PHP include path as required for each project individually in its own php.ini or htaccess file.
This means you can keep working the way you are, but use whichever library version you want for any given project.
The added advantage is that if you need to upgrade one of your projects, you can change the library version of that project simply by altering the include path in the htaccess file, without needing to install any extra copies of the library or affect any other projects.