Home Articles

PhpStorm调试器不在BreakPoints停止;一直在等待xdebug _SESSION_

Asked
Viewed 1889 times
42

Updated question : PhpStorm | WebMatrix (IISExpress) | Xdebug.remote_port | — Which Port(s) to put where?


我正在使用WebMatrix和IISExpress在我的Windows机器上运行localhost Web服务器 . 我已经安装了PHP和Xdebug,它们都在工作 .

我有一个本地WordPress安装 .

我现在正试图让PhpStorm使用Xdebug进行调试 .

当我运行PhpStorm时,它会在浏览器中启动Web应用程序,并在浏览器中显示相关的调试参数 .

IDE KEY is matching

ide

xdebug.remote_port 配置正确 . (后来我发现这是错的,但没有错 . 它应该是9000端口)

xdebug.remote_port

但似乎Xdebug从未与PhpStorm沟通 . PhpStorm继续监听,执行完全运行而不会在任何断点处停止 .

PhpStorm

PhpStorm

13 Answers

  • 41

    花了我一个小时,直到我注意到这个按钮没有激活;)

    "Run" - > "Start Listening for PHP Debug Connections"

    enter image description here

  • 30

    如果其他人遇到这个问题并使用Vagrant,这就是最终为我修复的内容:

    xdebug.remote_host=10.0.2.2
    

    这需要是Vagrant框内的本地计算机的IP地址,10.0.2.2是默认值 . 如果您进入Vagrant框,它将显示您要登录的IP,如果您要确认 .

    我知道这与OP的具体设置没有直接关系,但这篇文章显示了很多xdebug / PhpStorm谷歌搜索,所以希望这可以帮助其他人 .

  • 20

    首先检查xdebug正在处理什么端口,你可以在 xdebug.remote_port=9123 下的php.ini中找到它 . 正如您在我的案例中所见,它被设置为9123 .
    现在打开PhpStorm转到php调试,看截图:
    enter image description here

    在Xdebug下你会找到Debug端口,确保它的值与 xdebug.remote_port (在我的例子中为9123)下的php.ini文件中的值相同 .

    希望能帮助到你

  • 6

    对我来说,它正在改变这条线:

    xdebug.remote_host = localhost到xdebug.remote_host = myComputerIP

    (Mac用户:在终端运行ifconfig找到你的ip)

  • 5

    我有一个问题,一个项目可以工作,而不是另一个项目 . 我尝试了很多不同的配置,我尝试查看xdebug的日志等 . 这个修复似乎解决了我的问题:

    尝试将xdebug的实际端口设置为9123而不是9000 .

    PHPStorm的新版本(9)将其默认的xdebug连接端口更改为9123(PHPSTORM配置,而不是实际的xdebug配置),这可能是有充分理由的,因为将PHPSTORM配置为xdebug默认9000不起作用但是他们设置为9123确实工作并解决了问题 .

  • 3

    我也收到此错误消息 .
    也是php.ini的麻烦但更微妙 .

    尝试查找并删除这样的行

    extension=php_xdebug-...
    

    考虑在这里查看我的答案以获取详细信息“Xdebug - command is not available” .

  • 3

    根据peteclark3答案:

    我认为如果你有多个带有xdebug的php-fpm版本的解决方案之一,比如php5.6-fpm,php7.1-fpm - 确保只有一个正在运行 . 我有5.6和7.1运行 . 然后尝试更改7.1到9001端口 . 但是如果我在PhpStorm中更改为9001端口,那么5.6开始不起作用,因为它会监听9000.所以每次更改php版本,那么可能你需要更改phpStorm中的设置 . 所以我认为最好只运行一个php-fpm,所有php-fpm版本都可以使用相同的端口 .

  • 1

    这些行对于它的工作至关重要(在php.ini中):

    zend_extension=/usr/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so
    xdebug.remote_autostart = 1 <-------- THIS
    xdebug.remote_enable = 1 <----------- AND THIS
    

    没有这些行xdebug永远不会在phpstorm上工作;)

  • 1

    尝试更改php.ini和IDE中的xdebug监听端口 .

    运行Mac Yosemite,对我来说问题是我安装了自制软件,遵循使用php-fpm的指南,默认情况下使用端口 9000 (与xdebug默认端口冲突)...将我的 xdebug.remote_port 更改为 9001 并更改phpstorm中的xdebug端口修复了这个问题,但我怀疑任何IDE中的任何人都可能发生此问题 . 我用Google搜索了一天中的大部分时间并没有特定的安装方法)..但我希望它可以帮助某人 .

  • 1

    PHPStorm在“运行”>“Web服务器调试验证”中有一个内置工具 .

    它帮助我解决了我的问题 .

    enter image description here

  • 1

    我在尝试使用PHPStorm中的Windows上的XAMPP测试Laravel项目时遇到了同样的问题 . 我不知道我到底做错了什么,但最终确实让它运转了 . 我跟着step-by-step instructions on the PHPStorm site here .

    我认为没有正确配置的一件事是在设置中的PHP菜单中没有设置解释器 .

    我在 php.ini 中也尝试了一些太多的设置组合 . 这些是我工作时的设置:

    zend_extension = C:\xampp\php\ext\php_xdebug-2.3.2-5.6-vc11.dll //as recommended from the Xdebug site itself 
    xdebug.remote_enable=1=
    xdebug.profiler_enable=1
    xdebug.profiler_output_name = "cachegrind.out.%t-%s"
    

    在我的运行/调试配置中,我使用PHP Web应用程序设置,它只是从站点的根目录开始 . (起初,我认为附加的 ?XDEBUG_SESSION_START=<xxxxxxx> 是一个错误,但事实并非如此) . 希望如果其他人面临类似的问题,这可能会有所帮助 .

  • 0

    php.ini 中存在语法错误 . 有额外的 " 引用 "; 冒号 ; .

    xdebug.remote_port

  • 0

    我尝试了任何建议的技巧,最后我通过127.0.0.1/script.php而不是localhost / script.php和宾果来调用脚本!

Related