PHPStorm + Homestead + Xdebug + Chrome Xdebug Helper 调试配置

话说 PHPStorm 写起代码来非常带感,各种提示补全和纠错,以及在 L5 中的命名空间功能更是强大到感动(新建类自动添加命名空间,自动引入命名空间,返回参数命名空间纠正等等)。当然它的调试功能更是让你在出现 BUG 不知所措时抓住的稻草。

下面我将一步一步带你配置这强大到爆功能。但是,这个配置是很简单。

假定你已经安装好了 PHPStorm 和 Homestead,以及chrome,这里不再教你这些了

Homestead 中配置 Xdebug

1.启动你的 Homestead ,并连接进去(按照 laravel 教程的话,MAC下输入 vm 回车即可)

2.命令行下 sudo vi /etc/php5/fpm/conf.d/20-xdebug.ini (注意你的 php 版本和对应的文件夹)

3.复制以下内容进去

zend_extension=xdebug.so

xdebug.remote_enable = 1
xdebug.remote_connect_back = 1
xdebug.remote_port = 9000
xdebug.scream=0 
xdebug.cli_color=1
xdebug.show_local_vars=1

4.保存这个文件(如果这个文件不存在的话,这样建立一个软连接过来 sudo ln -s /etc/php5/mods-available/xdebug.ini /etc/php5/fpm/conf.d/20-xdebug.ini

5.重启 php5-fpmsudo service php5-fpm restart(如果使用的是 valet 的话,直接 valet restart 即可)

配置PHPStorm

1.安装chrome扩展 Xdebug helper

2.进入 Xdebug hepler 的配置选项中,选择 IDE key 为 PHPStorm。

xdebug helper

3.把扩展调整为 debug 模式,如图

debug

4.打开你的 PHPStorm 并设置一个测试断点。如图

break

5.依次打开 PHPStorm 中的 Run>Start Listening for PHP Debug Connections。

6.刷新你刚才的页面就会发现弹出了个对话框并且已经开始调试了。

7.最后设置一些你的项目目录,就是你的项目目录对应你映射到 Homestead 的目录。

phpstorm

好了,收工!就是如此简单的操作,需要的时候点开 chrome 的扩展 Xdebug 设置为 debug 即可让你随时调试你的页面。

觉得不错的同学多点赞哈!有问题的同学随时留言。

本帖已被设为精华帖!
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 21
Summer

点赞 :smile:

9年前 评论
Destiny

:punch: !

7年前 评论

请问php artisan 命令怎么调试呢?比如php artisan queue:listen

7年前 评论

@zhuzhichao 试过了,并没有用

7年前 评论
OhMyZsh

file
可用,

6年前 评论

[xdebug] 下面最好再加上一句:xdebug.idekey = PHPSTORM
正好对应chrome浏览器中设置的key。

6年前 评论

很期待你的回复?

6年前 评论

@东商通 很抱歉,我现在用的是 valet 。没有 homestead 环境了,不能帮你看这个问题了。

6年前 评论

为啥 我一直陪着 只有在index.php里面有效果 项目文件映射也设置了

5年前 评论

file 每次都自动从index.php开始debug 其他的断点没有效果

5年前 评论

file也已经设置了 map目录映射

5年前 评论
Flex

@剑尘 我和他一样 还是用telescope吧

5年前 评论

忙活了一天,一直不知道什么问题,查了谷歌了一天。最后发现电脑有杀毒软件的原因。。。

4年前 评论

@剑尘 这个问题解决了吗?我也遇到这个问题了,困扰我好几天了,好郁闷 :pensive:

4年前 评论

@剑尘 这个问题可能是由于phpstorm版本导致的,将phpstorm版本升到2019.1,目前我是这样解决的。参考stackoverflow.com/questions/556510...

3年前 评论

为什么图片看不到。。

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!