在Vagrant Homestead上安装配置PhpStorm和XDebug

4
我在Windows上,尝试通过PhpStorm和XDebug调试使用Vagrant/Homestead托管的Web应用程序。我尝试了许多配置,但无法使它正常工作。PhpStorm XDebug设置非常普遍。
这是当前的xdebug配置:
vagrant@homestead: /etc/php/7.0/cli/conf.d/20-xdebug.ini
zend_extension=xdebug.so
xdebug.remote_enable = on
xdebug.remote_connect_back = on
xdebug.idekey='PHPSTORM'

在IDE中,“开始监听PHP调试连接”已经打开。当我尝试启动调试时,会打开一个新的Chrome标签,URL以?XDEBUG_SESSION_START=16588结尾,但调试器不运行,这就是IDE显示的内容:

enter image description here

此外,netstat显示端口9000仍在监听。有什么想法吗?
1个回答

4
您正在更改用于命令行界面(CLI)的20-xdebug.ini文件。但是,由于您使用的是Chrome浏览器,因此需要更改Apache设置中的/etc/php/7.0/apache2/conf.d/20-xdebug.ini文件。 更新 我不确定Apache和Nginx之间的区别(可能是/etc/php/7.0/fpm/conf.d/20-xdebug.ini文件),但这是我在Windows计算机上运行Apache的VirtualBox VM上使其工作的方法。
20-xdebug.ini的设置:
zend_extension=xdebug.so
xdebug.remote_enable=1
xdebug.remote_host=192.168.1... (your windows IP address within your network)
xdebug.remote_port=9000
xdebug.autostart=1

Katie,感谢你的回答。我遵循了许多指南,但没有一个提到了Apache。我猜Vagrant Homestead运行的是Nginx而不是Apache。此外,phpinfo()似乎报告了正确的值。我猜这是PhpStorm和Vagrant虚拟机通信之间的问题,但我真的不明白出了什么问题。 - zangarmarsh
也许这个可以帮助你:https://dev59.com/tGUp5IYBdhLWcg3wVWiv?rq=1 - Katie
没有愚蠢的问题,在您的vagrant box上,您需要引用您的Windows机器IP地址,以便它可以连接回去。 - Katie
1
好的,我成功地解决了问题。问题在于PHPStorm将错误的php可执行文件定位到了/usr/bin/。我手动将其从/usr/bin/php更改为/usr/bin/php7.0,然后配置了FPM文件夹中的20-xdebug.ini文件,问题就解决了。非常感谢你的帮助Katie,我真的很感激。 - zangarmarsh
1
那你如何解释它为什么在之后开始正常工作了呢? - zangarmarsh
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接