我正在使用WebMatrix和IISExpress在我的Windows机器上运行localhost Web服务器 . 我已经安装了PHP和Xdebug,它们都在工作 .
我有一个本地WordPress安装 .
我现在正试图让PhpStorm使用Xdebug进行调试 .
当我运行PhpStorm时,它会在浏览器中启动Web应用程序,并在浏览器中显示相关的调试参数 .
IDE KEY is matching
xdebug.remote_port
配置正确 . (后来我发现这是错的,但没有错 . 它应该是9000端口)
但似乎Xdebug从未与PhpStorm沟通 . PhpStorm继续监听,执行完全运行而不会在任何断点处停止 .
13 回答
我也收到此错误消息 .
也是php.ini的麻烦但更微妙 .
尝试查找并删除这样的行
考虑在这里查看我的答案以获取详细信息“Xdebug - command is not available” .
php.ini
中存在语法错误 . 有额外的"
引用"
和;
冒号;
.首先检查xdebug正在处理什么端口,你可以在
xdebug.remote_port=9123
下的php.ini中找到它 . 正如您在我的案例中所见,它被设置为9123 .现在打开PhpStorm转到php调试,看截图:
在Xdebug下你会找到Debug端口,确保它的值与
xdebug.remote_port
(在我的例子中为9123)下的php.ini文件中的值相同 .希望能帮助到你
对我来说,它正在改变这条线:
xdebug.remote_host = localhost到xdebug.remote_host = myComputerIP
(Mac用户:在终端运行ifconfig找到你的ip)
PHPStorm在“运行”>“Web服务器调试验证”中有一个内置工具 .
它帮助我解决了我的问题 .
这些行对于它的工作至关重要(在php.ini中):
没有这些行xdebug永远不会在phpstorm上工作;)
尝试更改php.ini和IDE中的xdebug监听端口 .
运行Mac Yosemite,对我来说问题是我安装了自制软件,遵循使用php-fpm的指南,默认情况下使用端口
9000
(与xdebug默认端口冲突)...将我的xdebug.remote_port
更改为9001
并更改phpstorm中的xdebug端口修复了这个问题,但我怀疑任何IDE中的任何人都可能发生此问题 . 我用Google搜索了一天中的大部分时间并没有特定的安装方法)..但我希望它可以帮助某人 .花了我一个小时,直到我注意到这个按钮没有激活;)
"Run" - > "Start Listening for PHP Debug Connections"
如果其他人遇到这个问题并使用Vagrant,这就是最终为我修复的内容:
这需要是Vagrant框内的本地计算机的IP地址,10.0.2.2是默认值 . 如果您进入Vagrant框,它将显示您要登录的IP,如果您要确认 .
我知道这与OP的具体设置没有直接关系,但这篇文章显示了很多xdebug / PhpStorm谷歌搜索,所以希望这可以帮助其他人 .
我在尝试使用PHPStorm中的Windows上的XAMPP测试Laravel项目时遇到了同样的问题 . 我不知道我到底做错了什么,但最终确实让它运转了 . 我跟着step-by-step instructions on the PHPStorm site here .
我认为没有正确配置的一件事是在设置中的PHP菜单中没有设置解释器 .
我在
php.ini
中也尝试了一些太多的设置组合 . 这些是我工作时的设置:在我的运行/调试配置中,我使用PHP Web应用程序设置,它只是从站点的根目录开始 . (起初,我认为附加的
?XDEBUG_SESSION_START=<xxxxxxx>
是一个错误,但事实并非如此) . 希望如果其他人面临类似的问题,这可能会有所帮助 .我有一个问题,一个项目可以工作,而不是另一个项目 . 我尝试了很多不同的配置,我尝试查看xdebug的日志等 . 这个修复似乎解决了我的问题:
尝试将xdebug的实际端口设置为9123而不是9000 .
PHPStorm的新版本(9)将其默认的xdebug连接端口更改为9123(PHPSTORM配置,而不是实际的xdebug配置),这可能是有充分理由的,因为将PHPSTORM配置为xdebug默认9000不起作用但是他们设置为9123确实工作并解决了问题 .
我尝试了任何建议的技巧,最后我通过127.0.0.1/script.php而不是localhost / script.php和宾果来调用脚本!
根据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版本都可以使用相同的端口 .