Phpstorm+Vagrant+Xdebug配置

由于每次换机器都要重新配置这一套东西,记录一下方便以后查询

1 首先开启php的xdebug扩展

下载好 wget http://www.xdebug.org/files/xdebug-2.3.3.tgz

可以试试去这个网站,贴入phpinfo()的输出。

https://xdebug.org/wizard.php

然后 在/etc/php/7.2/mods-available 中的xdebug.ini中配置

zend_extension=xdebug.so
;指定是否启用Xdebug的性能分析,并创建性能信息文件。
xdebug.profiler_enable=1

;是否开启远程调试
xdebug.remote_enable = 1
;如果启用,则使用xdebug。忽略remote_host设置,Xdebug将尝试连接发出HTTP请求的客户机。它检查$_SERVER['HTTP_X_FORWARDED_FOR']和$_SERVER['REMOTE_ADDR']变量,以确定要使用哪个IP地址。
;xdebug.remote_connect_back = 0

;指定远程调试的主机名(由于是宿主机,所以写127.0.0.1)
xdebug.remote_host=127.0.0.1

;指定远程调试的端口号
xdebug.remote_port = 9001

;指定传递给DBGp调试器处理程序的IDE Key。
xdebug.idekey = "PHPSTORM"
;通常需要使用特定的HTTP ;GET/POST变量来启动远程调试。当此设置设置为1时,Xdebug将始终尝试启动远程调试;会话并尝试连接到客户机,即使不存在GET/POST/COOKIE变量。
xdebug.remote_autostart = 1
;远程处理协议DBGp
xdebug.remote_handler="dbgp"
;remote_mode 有俩值,1是req,2是jit
;req 是指一旦脚本启动,Xdebug将尝试连接到调试客户机
;jit 只会在出现错误条件时,Xdebug才尝试连接到调试客户机

xdebug.remote_mode="req"
;指定递归的嵌套层级数(默认100层) 防止无限递归带来的问题
xdebug.max_nesting_level = 512
;如果该设置为1,那么默认情况下,stacktrace将在错误事件上显示。
xdebug.default_enable = 1

其他配置请参考: [xdebug 配置参数说明]

配置完成后记得重启php-fpm

sudo service php-fpm7.2 restart

2 配置phpstorm

点击File->Settings[ctrl+shift+s]

 

配置端口写上跟配置文件一样的端口号:9001

配置DBGp Proxy

配置php的CLI编译器

选择From Docker,Vagrant ,VM, Remote...

配置server

配置一个php Web Page

打几个断点试一试~~可以了

 

 

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注