我正在尝试使用xdebug和phpstorm调试symfony2应用程序。
我的本地开发环境是Ubuntu 14.04,apache2,Xdebug版本是2.2.7
我正在使用以下指南处理另一个php(不是symfony2)项目:
https://www.jetbrains.com/phpstorm/help/configuring-xdebug.html
当我执行bookmarlet来设置cookie并开始调试这个symfony2项目时,phpstorm检测到传入连接(我接受),但没有其他事情发生。它不会在任何断点处停止。
我有symfony2 phpstorm插件。我试图禁用它,也没有任何结果。
这answer对我来说很好看,但它也没有诀窍
我尝试的最后一件事是更改服务器调试配置,禁用路径映射。这样phpstorm就会开始调试,但它会在app_dev.php文件中中断而不是我设置的任何断点。
我被困在这里,任何想法都是appreacite
更新
更多信息我没有提到:
更新
这是我的xdebug配置
[XDebug]
zend_extension="/usr/lib/php5/20121212/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_port="9000"
xdebug.profiler_enable=1
xdebug.profiler_output_dir="<AMP home\tmp>"
答案 0 :(得分:10)
我不知道您使用的是哪种浏览器,但是,使用Chrome,我使用的是Xdebug帮助扩展程序。
安装扩展程序后,右键单击它&gt;选项并选择PHPStorm作为IDE。
然后,使用调试附近的按钮开始侦听PHPStorm上的连接。
修改强>:
这是我的XDebug配置:
zend_extension=/usr/lib/php5/20121212/xdebug.so
xdebug.max_nesting_level = 1000
xdebug.collect_params = 1
xdebug.collect_return = 1
xdebug.remote_enable = 1
您确定XDebug已正确安装在您的计算机上吗?
在PHPStorm
&gt;时Run
&gt; Edit Configurations...
,添加一个PHP Web应用程序调试配置文件并以这种方式填写:
按OK即可完成!
答案 1 :(得分:7)
我有一个类似的问题再次被证明是一个映射问题,使用PHPStorm远程调试Symfony 2项目。
如果PHPStorm无法映射src文件位置,它将在app_dev.php的第一行代码中断(如果你设置了'Break on first line'),然后继续直接通过设置的任何断点/ src(例如控制器,模型等)并且不标记任何错误。
一旦PHPStorm可以映射这些路径,它就会停止和断点,并且可以开始有意义的调试。
答案 2 :(得分:3)
这是一个映射问题。以下是完成技巧的步骤
希望这对其他人有帮助
答案 3 :(得分:2)
如果您发现PHPStorm不断要求映射,请尝试在项目的最高层创建映射,如@stanhope所述,这应该足够了。
我的第一个映射被错误地设置为/ web中的app_dev.php文件,这意味着IDE一直要求我映射供应商目录中的文件。
<强> e.g。 /vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/Response.php
答案 4 :(得分:1)
我还必须注释掉类缓存的加载(symfony 2.7)。我暂时在web/app_dev.php
//$kernel->loadClassCache();
否则调试发生在bootstrap.php.cache
或断点不起作用。