phpstorm中xdebug配置和断点调试

时间:2022-03-23 03:03:47

 

运行环境:

  phpStorm 2018

  PHP 5.45 nts VC9

  Xdebug 2.4.1

0x01 PHP安装xdebug扩展


自己之前装一直没装起 原来是版本问题

下载地址:https://xdebug.org/download.php

php.ini配置:

[xdebug]
zend_extension="D:\phpstudy\PHPTutorial\php\php-5.4.45\ext\php_xdebug.dll"  #指定Xdebug扩展文件的绝对路径
xdebug.auto_trace=on  #启用代码自动跟踪
xdebug.collect_params=on  #允许收集传递给函数的参数变量
xdebug.collect_return=on  #允许收集函数调用的返回值
xdebug.trace_output_dir="D:\phpstudy\PHPTutorial\tmp\xdebug"  #指定堆栈跟踪文件的存放目录
xdebug.profiler_enable=on  #是否启用Xdebug的性能分析,并创建性能信息文件
xdebug.profiler_output_dir="D:\phpstudy\PHPTutorial\tmp\xdebug"  #指定性能分析信息文件的输出目录
xdebug.remote_enable = on  #是否开启远程调试
xdebug.remote_handler = dbgp  #指定远程调试的处理协议
xdebug.remote_host= localhost  #指定远程调试的主机名
xdebug.remote_port = 9000  #指定远程调试的端口号
xdebug.idekey = PHPSTORM  #指定传递给DBGp调试器处理程序的IDE Key

保存php.ini,重新启动apache检查是否成功开启了xdebug服务.

phpstorm中xdebug配置和断点调试

也可以php -m查看

D:\phpstudy\PHPTutorial\php\php-5.4.45-nts>php -m
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dom
ereg
filter
ftp
gd
hash
iconv
json
libxml
mbstring
mcrypt
mhash
mysql
mysqli
mysqlnd
odbc
pcre
PDO
pdo_mysql
PDO_ODBC
pdo_sqlite
Phar
Reflection
session
SimpleXML
sockets
SPL
sqlite3
standard
tokenizer
wddx
xdebug
xml
xmlreader
xmlrpc
xmlwriter
xsl
Zend Guard Loader
zip
zlib [Zend Modules]
Xdebug
Zend Guard Loader

0x02 phpstorm 配置

配置对应php版本

phpstorm中xdebug配置和断点调试

Debug端口配置:

phpstorm中xdebug配置和断点调试

IDEKEY配置

phpstorm中xdebug配置和断点调试

Server配置

phpstorm中xdebug配置和断点调试

PHP Web Application配置

进入Run> Debug configurations,点+号选择PHP Web Page,Server选填localhost,Start URL填你要访问的页面(如:/index.php), Browser 默认或者选chrome

phpstorm中xdebug配置和断点调试

0x03 浏览器插件断点调试

网上很多谷歌xdebug插件 我还是喜欢火狐

phpstorm中xdebug配置和断点调试

在PHPStorm中创建项目,在代码中设置断点。点击phpstorm run>start listening或者右上角的小电话开启监听。进入需要调试的页面,点击火狐右上角的“臭虫”开始调试。

phpstorm中xdebug配置和断点调试

分析代码性能

你也可以利用WinCacheGrind或者QCacheGrind软件和xdebug生成的cachegrind.out文件分析PHP脚本的性能。
下载地址:
http://sourceforge.net/projects/wincachegrind/
http://sourceforge.net/projects/qcachegrindwin/
你也可以使用其他工具分析,参照这里:
https://xdebug.org/docs/profiler

参考资料