为什么变量没有显示在PhpStorm的调试窗口中?

Mic*_*ael 10 xdebug phpstorm

我有Xdebug,我可以停下来并逐步通过断点。但是它已经到达的变量不会显示在“变量”窗口中。看到图片-变量$test并且$test2不显示。

在此处输入图片说明

我在php.ini中的配置是

[XDebug]
zend_extension = /usr/lib/php/20170718/xdebug.so
xdebug.remote_host = 127.0.0.1
xdebug.remote_port = 10000
xdebug.remote_mode = req
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.idekey = "PHPSTORM"
Run Code Online (Sandbox Code Playgroud)

小智 11

在过去的几天里,我一直把自己的头撞在桌子上。以CLI模式运行(例如在运行测试时)很好,但是尝试在浏览器中查看网站并使它达到断点,我也没有看到任何本地初始化的变量。

出现的问题是OpCache模块。这似乎在进行一些内部优化,并且var对Xdebug堆栈不可见。

通过删除PHP模块配置中的符号链接来禁用OpCache模块,您将能够按预期看到本地变量。

我已经在Docker容器中的Ubuntu映像上的最新PHP 7.2(FPM)上运行了它。

HTH =)


小智 1

我有类似的问题。碰巧php版本是7.2,但是Dockerfile为7.1版本安装了扩展。