Composer autoloader path seems to be coupled to specific PHP interpreter rather than current project

When I attempt to edit the settings "For current project", under Settings -> Languages & Frameworks -> PHP -> Test Frameworks, and I select a remote PHP interpreter from the list in the left-hand pane, and I select the "Use Composer autoloader" radio button, then enter the "Path to script", I find that the value in this field is applied to all projects that use this interpreter (and not only the current project whose settings I'm editing).

Is this the intended behavior?

To describe my use-case in more detail, I have several projects that share the same remote PHP interpreter, which seems perfectly reasonable.

However, each project might (and does, in fact) require a different version of PHPUnit. Accordingly, it makes sense to "Use Composer autoloader" for the "PHPUnit library" selection, and then specify a "Path to script" value that is project-specific.

For example, Project A might need the path "/home/vagrant/code/project-a/vendor/autoload.php", whereas Project B need "/home/vagrant/code/project-b/vendor/autoload.php".

But I find that whenever I change this path for one project, it is updated in all projects, which, needless to say, causes show-stopping autoloader problems.

Oddly enough, the "Path mappings" in the menu just above the field in question are retained on a per-project basis, so, it's not as though this entire pane of the Settings dialog is project-specific; it's just this one field (and the accompanying radio).

Has anybody else encountered this issue? It feels like a bug, unless I'm missing something...

Thanks for any insight here!

1 comment

Yeah, that's a known bug/usability issue: https://youtrack.jetbrains.com/issue/WI-34383 - feel free to give it a vote.

0

Please sign in to leave a comment.