I have a development setup which I don't think is too exotic, however I cannot figure out how to make it work in PhpStorm. First off, my "production" server is using shared hosting. The file structure is like this:
/foo/bar/public_html/...<the rest of the web-accessible site>
foo/private is not accessible via the web, only the tree rooted at /foo/bar/public_html is web-accessible. Or, in other words, there is *no* URL that can get to anything under /foo/bar/private
Because some of my php code contains sensitive data I'd prefer to keep those sensitive bits like database passwords outside of the web-accessible portion and instead put it into /foo/bar/private. Currently the only PHP code I plan to have in there are defines setting up some constants. But I'd still like to be able to set breakpoints in any code in the PHP files in /foo/bar/private in my development copy. I might decide to put some class files in there, for example.
I would to duplicate this structure in my php project and on my remote development server (which is really just a VirtualBox VM). I just can't figure out a combination of settings that can get me there. It looks like there cannot be any file in the project outside of public_html. I did see something about "multiple content roots" but the discussion there was a bit confusing.
Some parts of the help pages I found confusing include:
"3. Correspondence between the project root folder, the folder on the server to copy the data from the project root folder to, and the URL address to access the copied data on the server. This correspondence is called mapping."
To me this suggests that the project root folder must be web-accessible. However, I'd like to make /foo/bar the project root. The root of the web-accessible part of this is /foo/bar/public_html, and thus they are not the same.
Can this be done?