运行环境:
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服务.
也可以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版本
Debug端口配置:
IDEKEY配置
Server配置
PHP Web Application配置
进入Run> Debug configurations,点+号选择PHP Web Page,Server选填localhost,Start URL填你要访问的页面(如:/index.php), Browser 默认或者选chrome
0x03 浏览器插件断点调试
网上很多谷歌xdebug插件 我还是喜欢火狐
在PHPStorm中创建项目,在代码中设置断点。点击phpstorm run>start listening或者右上角的小电话开启监听。进入需要调试的页面,点击火狐右上角的“臭虫”开始调试。
分析代码性能
你也可以利用WinCacheGrind或者QCacheGrind软件和xdebug生成的cachegrind.out文件分析PHP脚本的性能。
下载地址:
http://sourceforge.net/projects/wincachegrind/
http://sourceforge.net/projects/qcachegrindwin/
你也可以使用其他工具分析,参照这里:
https://xdebug.org/docs/profiler
参考资料
- xdebug帮助文档: https://xdebug.org/docs/
- IDE远程调试:https://xdebug.org/docs/remote