无法使用PhpStorm设置Xdebug。只有index.php可以捕获断点

时间:2014-10-26 15:51:29

标签: debugging phpstorm xdebug

我试图用phpstorm设置xdebug调试器。我在Windows 7上运行xampp.php.ini中的Xdebug部分:

[XDebug]
zend_extension = "C:\xampp\php\ext\php_xdebug-2.2.5-5.5-vc11.dll"
xdebug.profiler_append = 0
xdebug.profiler_enable = 0
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir = "C:\xampp\tmp"
xdebug.profiler_output_name = "cachegrind.out.%t-%s"
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "127.0.0.1"
xdebug.idekey = "PHPSTORM"
xdebug.remote_port = 10000
xdebug.trace_output_dir = "C:\xampp\tmp"

在phpstorm中,我检查了这个:

IDE found php and xdebug

另外,我已经设置了合适的端口:

enter image description here

之后我就:

  1. 使用适当的IDE密钥(PHPSTORM)创建bookkmark以启动调试器(在jetbrain页面上生成);

  2. Google Chrome使用的特殊扩展程序,也为此设置了Cookie:

  3. enter image description here

    最后,我甚至禁用了防火墙(在此之前我尝试添加规则,但这并没有帮助)。

    我在这里写的,并没有帮助我抓住断点。我点击了"电话按钮"在IDE内部,这也没有帮助。并且,我想强调的是,来自Xdebug的传入请求也没有首次使用。

    另外,我想提一下,只有index.php调试才有效。任何控制器/动作都没有,但只有index.php可以。

    在phpinfo()中,xdebug也存在:

    enter image description here

4 个答案:

答案 0 :(得分:3)

请参阅:Map one directory path to another in PHPStorm

在设置中 - > PHP - >服务器,映射调试文件所需的所有文件夹。

答案 1 :(得分:1)

我通过手动将项目中的每个路径从远程映射到本地路径来解决这个问题

在我的情况下phpstorm(windows)+ yii2 / xdebug(linux on vmbox)

c:\phpstormprojects\yii\models -> /home/yii/apps/yii/models

答案 2 :(得分:0)

重要提示:确保您使用的是最新版本的PHPStorm! 较旧版本的PHPStorm不适用于较新版本的XDebug。您会遇到的一个常见错误是断点仅适用于index.php,而无法跨入或进入代码。

最后,确保您使用的XDebug版本与您正在运行的PHP版本兼容。例如,PHP 7.3和7.4使用XDebug 2.9。

90%的人有XDebug问题,因为他们尝试使用的端口很忙,或者他们使用的版本与IDE或正在使用的PHP版本不兼容

答案 3 :(得分:0)

嘿,在解决了这个问题后,我遇到了同样的问题,我发现问题出在我的xdebug版本上。我使用了错误的xdebug版本。因此,纠正错误后,我将进行以下设置:

  1. Xdebug文件版本

php_xdebug-2.7.0alpha1-7.2-vc15.dll

  1. Phpstorm版本

2017.1.4

  1. php.ini文件
zend_extension = F:\xampp\php\ext\php_xdebug-2.7.0alpha1-7.2-vc15.dll
xdebug.remote_autostart = 1
xdebug.profiler_append = 0
xdebug.profiler_enable = 0
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir = "F:\xampp\tmp"
xdebug.profiler_output_name = "cachegrind.out.%t-%s"
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "127.0.0.1"
xdebug.remote_log = "F:\xampp\tmp\xdebug.txt"
xdebug.remote_port = 9000
xdebug.trace_output_dir = "F:\xampp\tmp"
xdebug.remote_cookie_expire_time = 36000
xdebug.idekey= "PHPSTORM"

注意:-在php.ini文件末尾添加上述行,并在用户X机安装XAMPP的PC的驱动器路径中添加

  1. xampp版本

3.2.2