PhpStorm调试,文档根和包含($ _SERVER [' DOCUMENT_ROOT']未解释)

时间:2015-10-21 23:47:24

标签: php debugging phpstorm

编辑:我稍后会正确编辑这个问题,但这不是Apache问题,它是PhpStorm中的IDE问题。我已将所有问题分类并在下面回答。

我一直试图在各种机器上解决几个月的问题。我已经通过良好的魔法清除了我的Apache设置中的gremlins(如果你想要更多详细信息https://stackoverflow.com/questions/33251175/virtual-host-not-working)。

现在一切似乎都运转正常。我有各种虚拟主机,包括sane30sane30.dev,它们在网络浏览器中按预期运行。

如果我在echo $_SERVER['DOCUMENT_ROOT'];sane30.dev/index.php进行sane30/index.php,我会C:/xampp/htdocs/sane30/。如果我使用localhost/sane30/index.php执行相同的测试,我会获得C:/xampp/htdocs/ - 页面会运行但是任何include或图片或任何未找到的内容。一切都如我所料。

目前我真正的问题是在PhpStorm中进行调试。

A)我真的很难理解如何在PhpStorm中进行调试 - 我100%确信它会有很大的帮助,但我发现很难理解但也

B)我正在噩梦让PhpStorm一致地找到合适的文档根目录。每次我点击调试时,它都会以http://localhost/sane30/beta30/newForm.php而不是http://sane30/beta30/newForm.phphttp://sane30.dev/beta30/newForm.php启动,这会搞砸所有includes并使其无法调试。更糟糕的是,似乎有一些非常随意的事情发生了。我尝试改变许多设置但收效甚微。

所以a)是熟悉PhpStorm的人,能告诉我在哪里定义sane.dev作为根服务器而不是localhost

和/或

b)任何人都可以帮助制定策略,使所有页面都能理解相同的根,尽管最初是如何启动的(sane30或localhost)?

hosts我有

127.0.0.1  sane30
127.0.0.1  sane30.dev

在httpd-vhosts.conf中我有

<VirtualHost *:80>
ServerName sane30
ServerAlias sane30.dev *.sane30.dev
DocumentRoot c:/xampp/htdocs/sane30/
</VirtualHost>

如果有用的话。

1 个答案:

答案 0 :(得分:0)

这里有两个问题:

1)PhpStorm不会翻译$_SERVER['DOCUMENT_ROOT']所以任何使用它来制作路径都是注定的。

2)在PhpStorm中设置目录。

我不确定这是否已经完成,但似乎对我有用。

在设置中,您需要部署: enter image description here

在那里我设置了我的根URL并使用了&#34;到位&#34;这似乎工作正常。

然后在Mapping选项卡上设置相关路径(这可能没问题,但值得检查)。

enter image description here

最后我遇到了两个调试障碍,我在这里找不到任何解决方案或谷歌。

&#34;框架不可用&#34;:我浪费了一个小时认为这是一个问题 - 它只是意味着调试无需报告。如果你看一下控制台,它只是说&#34; yippee它没有发生事故&#34;所以,如果你设置了断点,变量手表或其他什么 - 那么你需要检查你在看什么!

我也浪费了年龄,因为调试器中的Frames选项卡已经消失(不可见)。

enter image description here

解决方案不能简单,但如果你像我这样的新手,希望这可以节省你的时间。只需单击&#34;恢复布局&#34;按钮和瞧。

enter image description here