无法在Laravel的index.php之外命中断点

时间:2018-03-27 20:56:06

标签: php laravel debugging phpstorm xdebug

我使用Laravel v5.6.7,php / php-fpm v7.2.3,nginx v1.12.2和xdebug v2.6.0在Linux(Archlinux)上工作。

我的网站在本地运行 我为Firefox安装了附加的Xdebug帮助器。

我设法配置Xdebug,PhpStorm来命中index.php文件上的断点并且它可以工作。但是其他断点(在index.php之外)都没有被击中,我在控制器和模型中放了一些。

如果我在控制器或模型中使用xdebug_break(),则执行将在下一个代码行中停止。

我也尝试过使用VS Code,我遇到了同样的问题。

是否有人设法在Laravel项目中调试控制器或模型php代码?

以下是我的设置:

xdebug.ini

zend_extension=xdebug.so
xdebug.remote_enable=on
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9123
xdebug.remote_handler=dbgp
xdebug.remote_autostart=1

PhpStorm:

  • Xdebug port:9123
  • 未配置映射,因为我的nginx服务器在本地运行

修改
我在Windows上尝试使用WAMP v3.1.0,PHP v7.1.9,Xdebug v2.5.5,Phpstorm和VScode。不幸的是,我的行为与Linux上的行为相同 以下是断点和设置的屏幕截图:
Breakpoints list Working breakpoint on index.php Breakpoint in route Breakpoint in Controller Breakpoint in Model
Phpstorm settings - PHP Phpstorm settings - PHP - CLI Phpstorm settings - PHP - Debug1 Phpstorm settings - PHP - Debug2 Phpstorm settings - Run-Debug Config Phpstorm settings - PHP - Servers

1 个答案:

答案 0 :(得分:2)

与Visual Studio和C#不同,无法在大括号中添加断点 IDE中没有任何内容警告它,但这些断点永远不会被击中 只需将它们移动到下一行,使用真实的声明使它们成为可击中的。