Eu quase me pergunto se isso seria melhor perguntado no stackoverflow.
Meu método preferido é geralmente automatizar com um script / programa a criação dos ambientes de desenvolvimento / preparação / produção. Então, depois de ter um sistema em que os detalhes críticos possam ser configurados automaticamente, limpe tudo de vez em quando e force os desenvolvedores a lidarem com um ambiente limpo. Se você fez backups corretamente, e eles estão se comprometendo com o VCS e seu script de configuração é perfeito, então eles nunca devem ter problemas.
O uso de máquinas virtuais seria ideal, mas, dependendo do seu desenvolvimento, talvez não seja necessário.
Você mencionou que tem problemas com o caminho de inclusão do php nos scripts da linha de comandos ? Por que você simplesmente não usa a opção - php-ini do php cli option para especificar um arquivo de configuração que é individualizado para cada ambiente / desenvolvedor com seu caminho de inclusão definido conforme necessário?