开发环境:
Wamp+PhpStorm+Chrome
环境配置:
1. PHP安装xdebug扩展,修改Wamp的php.ini文件,php.ini可以在wamp安装目录下\bin\apache\apache2.4.9\bin中找到。也可以通过wamp管理面板打开该文件
修改xdebug参数为下面参数,增加xdebug.remote_port=9000,如果本机9000端口已被占用,请修改为其他未占用端口
[xdebug]
xdebug.remote_enable = on
xdebug.remote_port=9000
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "127.0.0.1"
xdebug.idekey=PHPSTORM
xdebug.profiler_enable = on
xdebug.profiler_enable_trigger = on
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir = "D:/Wamp/tmp"
;设置的函数调用监测信息的输出路径
;xdebug.trace_output_dir ="D:\phpStudy\tmp\xdebug"
xdebug.show_local_vars=0
;指定Xdebug扩展文件的绝对路径
zend_extension="D:\XX\phpXX\ext\xdebug.dll"
配置参数选项附录
Xdebug还支持更多的配置参数,详情见下表
参数选项 | 参数值类型与默认值 | 参数选项描述 |
---|---|---|
xdebug.auto_trace | boolean类型,默认值=0 | 是否在脚本运行之前自动调用相关追踪函数。 |
xdebug.cli_color | integer类型,默认值=0 | 该参数自2.2版本开始引入。如果值=1,当处于CLI模式或连接虚拟控制台时,Xdebug将高亮显示var_dumps()和堆栈输出,;在Windows中,这需要安装ANSICON工具。如果值=2,不管是否处于CLI模式或连接虚拟控制台,Xdebug都会高亮显示var_dumps()或堆栈输出;这种情况下,你可能会看到转义后的代码。 |
xdebug.collect_assignments | boolean类型,默认值=0 | 该参数自2.1版本开始引入。用于控制是否为函数跟踪添加变量赋值功能。 |
xdebug.collect_includes | boolean类型,默认值=1 | 控制是否在跟踪文件中写入include()、include_once()、require()、require_once()等函数中用到的文件名。 |
xdebug.collect_params | integer类型,默认值=0 | 控制在调用函数时,是否收集传递给函数的参数信息。如果参数值过大,这可能会占用大量的内存;不过,在Xdebug 2中不会出现该问题,因为Xdebug 2将相关数据写入磁盘中,而不是占用内存。如果值=0,则不显示任何信息。如果值=1,只显示类型和大小信息,例如:string(6)、array(8)。如果值=2,将显示类型和大小,以及全部信息的工具提示。如果值=3,将显示变量的全部内容。如果值=4,将显示变量的全部内容和变量名。 |
xdebug.collect_return | boolean类型,默认值=0 | 控制是否在追踪文件中写入函数调用的返回值。 |
xdebug.collect_vars | boolean类型,默认值=0 | 控制是否收集指定作用域中的变量信息。由于需要反向工程PHP的操作码数组,因此Xdebug的分析速度可能比较慢。 |
xdebug.coverage_enable | boolean类型,默认值=1 | 该参数自2.2版本开始引入。控制是否允许通过设置内部结构来启用代码覆盖率功能。 |
xdebug.default_enable | boolean类型,默认值=1 | 当发生异常或错误时,是否默认显示堆栈信息。 |
xdebug.dump.* | string类型,默认值=Empty | 这里的可以是COOKIE, FILES, GET, POST, REQUEST, SERVER, SESSION中的任意一个。用于指定发生错误时是否显示超全局变量数组中的索引变量信息。比如,你想要显示请求的IP地址和请求方式,可以设置为xdebug.dump.SERVER=REMOTE_ADD,REQUEST_METHOD 多个索引变量用英文逗号隔开,如果要输出其中的所有变量,可以直接用,例如:xdebug.dump.GET=* |
xdebug.dump_globals | boolean类型,默认值=1 | 控制是否显示通过xdebug.dump.*定义的所有超全局变量的信息。 |
xdebug.dump_once | boolean类型,默认值=1 | 如果出现多个错误,控制超全局变量信息是在所有错误中显示,还是只在第一个错误中显示。 |
xdebug.dump_undefined | boolean类型,默认值=1 | 控制是否显示超全局变量中未定义的值。 |
xdebug.extended_info | integer类型,默认值=1 | 是否强制进入PHP解析器的"extended_info"模式,这将允许Xdebug以远程调试器对文件或行添加断点。开启此模式将拖慢脚本的允许速度,该参数只能在php.ini中设置。 |
xdebug.file_link_format | string类型,默认值=, | 自2.2版本开始引入。用于指定堆栈信息中用到的文件名称的链接样式,这允许IDE通过设置链接协议,直接点击堆栈信息中的文件名称,即可快速打开指定的文件。例如:ZendStudio://%f@%l(%f表示文件路径,%f表示行号)。 |
xdebug.force_display_errors | integer类型,默认值=0 | 自2.3版本开始引入。是否强制显示错误信息。 |
xdebug.force_error_reporting | integer类型,默认值=0 | 自2.3版本开始引入。是否强制显示所有错误级别的信息。 |
xdebug.halt_level | integer类型,默认值=0 | 自2.3版本开始引入。指定出现那些错误级别的错误时,中止程序运行。例如:xdebug.halt_level=E_WARNING, E_NOTICE, E_USER_WARNING, E_USER_NOTICE(也仅支持上述4种错误级别)。 |
xdebug.idekey | string类型,默认值=complex | 指定传递给DBGp调试器处理程序的IDE Key。 |
xdebug.manual_url | string类型,默认值=http://www.php.net | 仅2.2.1以下版本可用,用于指定从函数堆栈和错误信息链接到的帮助手册的基本URL。 |
xdebug.max_nesting_level | integer类型,默认值=100 | 指定递归的嵌套层级数。 |
xdebug.overload_var_dump | boolean类型,默认值=1 | 自2.2版本开始引入,当php.ini中的html_error设为1时,Xdebug是否默认使用自身的改进版本来重载var_dump()。 |
xdebug.profiler_append | integer类型,默认值=0 | 当多个请求映射到相同文件时,指定是覆盖之前的调试信息文件还是追加内容到该文件中。 |
xdebug.profiler_enable | integer类型,默认值=0 | 指定是否启用Xdebug的性能分析,并创建性能信息文件。 |
xdebug.profiler_output_dir | string类型,默认值=/tmp | 指定性能分析信息文件的输出目录 |
xdebug.profiler_output_name | string类型,默认值=cachegrind.out.%p | 指定性能分析信息文件的名称 |
xdebug.remote_enable | boolean类型,默认值=0 | 是否开启远程调试 |
xdebug.remote_handler | string类型,默认值=dbgp | 指定远程调试的处理协议 |
xdebug.remote_host | string类型,默认值=localhost | 指定远程调试的主机名 |
xdebug.remote_log | string类型,默认值= | 指定远程调试的日志文件名 |
xdebug.remote_mode | string类型,默认值=req | 可以设为req或jit,req表示脚本一开始运行就连接远程客户端,jit表示脚本出错时才连接远程客户端。 |
xdebug.remote_port | integer类型,默认值=9000 | 指定远程调试的端口号 |
xdebug.trace_options | integer类型,默认值=0 | 指定对于之后的请求,追踪文件是追加内容还是覆盖之前内容。 |
xdebug.trace_output_dir | string类型,默认值=/tmp | 指定追踪文件的存放目录 |
xdebug.trace_output_name | string类型,默认值=trace.%c | 指定追踪文件的名称 |
2. PHPStorm参数配置
打开参数设置面板file->settings 修改php->servers参数。name可以自己定义,host为localhost,port为80,debugger为xdebug
修改DBGp Proxy 参数IDE key:phpStorm, host:localhost, port:80
修改php->debug,xdebug->debug port 修改为9000
3.Chrom中安装Chrome浏览器扩展插件 Xdebug helper,因为某些原因,国内访问不到google插件商城。点击直接下载xdebug-helper_1.6.1_0.crx扩展程序,直接拖到扩展程序中启用,如果有兴趣可以查看另一文章《Chrom如何打包插件》来自己生成插件
4.修改xdebug helper的IDE key 为PhpStorm
5.PhpStorm中开启监听
Comments | NOTHING