今天赶紧把这个搞了
运行环境:
phpStorm 2018
PHP 5.45 nts VC9
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