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

时间:2013-06-15 05:31:50

标签: php xdebug phpstorm

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匹配

ide

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

xdebug.remote_port

但似乎Xdebug从未与PhpStorm沟通。 PhpStorm一直在监听,执行完全没有停在任何断点处。

PhpStorm PhpStorm

14 个答案:

答案 0 :(得分:43)

这些行对于它的工作至关重要(在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 :(得分:33)

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

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

答案 2 :(得分:19)

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

&#34;运行&#34; - &GT; &#34;开始侦听PHP调试连接&#34;

enter image description here

答案 3 :(得分:6)

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

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

希望有所帮助

答案 4 :(得分:5)

对我而言,它改变了界限:

xdebug.remote_host =本地主机 至 xdebug.remote_host = myComputerIP

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

答案 5 :(得分:3)

PHPStorm在Run&gt;中有一个内置工具。 Web服务器调试验证。

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

enter image description here

答案 6 :(得分:3)

如果有其他人遇到此问题而且正在使用Vagrant,那么这就是最终为我解决的问题:

xdebug.remote_host=10.0.2.2

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

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

答案 7 :(得分:1)

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

尝试查找并删除像这样的行

extension=php_xdebug-...

请考虑在此处查看我的答案,了解详情&#34; Xdebug - command is not available&#34;。

答案 8 :(得分:1)

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

xdebug.remote_port

答案 9 :(得分:1)

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

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

我还在# File: serializers.py class UserSerializer(serializers.ModelSerializer): class Meta: model = User def create(self, validated_data): user = User.objects.create_user( email = validated_data['email'], username = validated_data['username'], password = validated_data['password'], ) return user 尝试了一些太多的设置组合。这些是我工作时的设置:

php.ini

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

答案 10 :(得分:1)

检查您的防火墙和代理。

第572天...仍然没有睡觉或吃饭...但是我终于找到了罪魁祸首: Windows Defender!

基本上,我的防火墙阻止了JetBrains IDE Support chrome扩展程序通过默认的127.0.0.1:63342地址将数据发送到PhpStorm。

答案 11 :(得分:0)

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

答案 12 :(得分:0)

根据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版本都可以使用相同的端口。

答案 13 :(得分:0)

右键单击“控制台”选项卡,然后取消选中“启动时关注”(如下图所示)即可解决问题 enter image description here