Vagrant phpstorm xdebug
查了点资料,整合一下碰到的坑。mark一下:clap:
xdebug 配置信息
通过phpinfo()查看是否安装xdebug
phpstorm的配置
xebug port
Languages & Frameworks -> PHP -> Debug, Debug port改成Xdebug配置文件中的xdebug.remote_port一样的端口号:
DBGp Proxy
在Languages & Frameworks -> PHP -> Debug -> DBGp Proxy,IDE key改成Xdebug配置文件中对应的xdebug.idekey。
- IDE key :xdebug配置信息中的ide_key
- Host:Homestead.yaml的IP
- Port:大多数情况是80
Servers
在Languages & Frameworks -> PHP -> Servers 中找到配置,点击+添加一个Server,配置类似下图:
- name:随意
- Host:homestead.yaml文件的本地地址
- absolute path on the server:虚拟机里的项目地址(映射地址)
Edit Configurations
在菜单中找到 Run -> Edit Configurations,点击窗口左上角的+添加PHP Web Page:
调试及报错
报错一
是映射地址错误,返回Server检查配置
报错二
如果进入上index.php文件,第一行就停了,检查两个选项
具体原理不清楚的问题
问题一
使用postman请求,返回数据正确,xdebug没反应。
解决方法:需要在URL后面增加参数XDEBUG_SESSION_START=19331。可能不同的开发环境具体的数值会不同。具体哪里设置不清楚。请求过一次后,后面的接口URL就不用加这个参数了。不解。
注意: XDEBUG_SESSION_START此参数每次请求值都会变,如果从chrome访问接口会自动加上此参数,postman需要手动复制在url后面,并且会自动setcookie。所以每次Cookie过期,都需要复制一遍。暂时没有更好的解决方法。
php.ini怎么配置