get rid of "Multiple implementations"

So when I try and option click into a method, I get a little dialogue that says:

Multiple Implementations

And shows two links to the same file. One is absolute and one is relative

e.g.

../path/to/file
/absolute/path/to/file

So I think this has to do with me trying to setup mappings in PHP > SERVERS but I have unchecked:

Use Path Mappings

Which I thought would've fixed it.

It's  not a big deal, except I think if I choose different options, it'll open up two files and I start to get

"This file has been modified on disk" dialogs ...

TIA

4 comments

Hi there,

setup mappings in PHP > SERVERS

It's for debugging only.

For me it sounds like you having a symbolic link (or similar) in your project (which points to some another location inside your project, so the same file is indexed twice). Or such folder is a part of the project itself .. as well as added as External Library (PHP | Includes).

If one of the above is the case .. then excluding such folder should do the job (Settings | Directories).

0

I am using a symbolic link e.g.

Absolute path:

/Users/msteudel/Documents/wwwroot

But I have a symlink in my home dir

/Users/msteudel/wwwroot -> /Users/msteudel/Documents/wwwroot

So can I use the symlink directory as long as it's consistent everywhere? Or should I only use the absolute directory?

And is the places it needs to be consistent just these two spots?

PHP | Includes
Settings | Directories

What if I created it from existing files, but used the symlink path?

0

Symlink is not a problem by itself (like in your case). Problems start to appear when you mix them up (e.g. when you have another symbolic link that points to a place that is already in the project -- because from IDE point of view it would be 2 different files).

Since it's not 100% clear for me what exactly you have got there, right now I can just suggest you to use real names/paths and not symbolic links. Once you make it working properly you can experiment further.

P.S.
I do use symbolic links myself (when attaching external libraries) but they do not "intersect" with the actual project files (as they point to a places outside the project). The actual project root is always a real path in my case.

0

So by removing the path to the project in PHP | Includes (which I had added) it fixed this problem. Thanks for the help.

0

Please sign in to leave a comment.