文章目录
安装Xdebug
可以直接参考:
https://www.cnblogs.com/LWMLWM/p/8251905.html
Xdebug的版本必须跟安装的PHP版本匹配,在http://www.xdebug.org/find-binary.php
页面,将phpinfo()
页面的源代码直接粘贴进框内,点击下方的Analyse my phpinfo() outpu
按钮,会自动展示下载和安装指导
输出示例,由于自己已经安装了Xdebug,所以会提示已安装了最新版,重点是下方的安装指导。
Windows
You're already running the latest Xdebug version
But here are the instructions anyway:
1.Download php_xdebug-2.6.0-7.2-vc15-x86_64.dll
2.Move the downloaded file to D:\Dev\PHP7\ext
3.Update D:\Dev\PHP7\php.ini and change the line
zend_extension = D:\Dev\PHP7\ext\php_xdebug-2.6.0-7.2-vc15-x86_64.dll
4.Restart the webserver
翻译:
- 下载指定版本的php_xdebug
- 将下载的文件挪到
D:\Dev\PHP7\ext
目录下(根据自己的phpinfo()输出不同,这里的目录页不同) - 更新
D:\Dev\PHP7\php.ini
文件,添加擴展zend_extension = D:\Dev\PHP7\ext\php_xdebug-2.6.0-7.2-vc15-x86_64.dll
- 重启Web服务器
MacOS-MAMP
按照指导正常下载,解压,进目录,然后 (注意:php7.2.1随自己的版本而变化)
/Applications/MAMP/bin/php/php7.2.10/bin/phpize
./configure --with-php-config=/Applications/MAMP/bin/php/php7.2.10/bin/php-config
make
make test
把modules下生成的xdebug.so复制到/Applications/MAMP/bin/php/php7.2.10/lib/php/extensions/no-debug-non-zts-20170718
编辑MAMP配置文件,添加xdebug.so
重启Web服务器,比如Apache
踩坑记录
phpsize的使用
一开始是尝试使用brew安装的xdebug,各种brew search php-xdebug
brew search php72-xdebug
,然后安装,都不行。后来在brew官网看到2018年3月的更新公告,大概意思是这个模块已经关闭了。
于是开始尝试编译安装,结果一直提示
CrocutaxdeMacBook-Pro:xdebug-2.6.1 crocutax$ phpsize
-bash: phpsize: command not found
后来通过phpize --help
查找phpsize的全路径
CrocutaxdeMacBook-Pro:xdebug-2.6.1 crocutax$ phpize --help
Usage: /usr/local/bin/phpize [--clean|--help|--version|-v]
然后直接使用全路径运行phpsize,成功出现官网给出的提示。
CrocutaxdeMacBook-Pro:xdebug-2.6.1 crocutax$ /usr/local/bin/phpize
Configuring for:
PHP Api Version: 20170718
Zend Module Api No: 20170718
Zend Extension Api No: 320170718
之后就愉快的往下进行就可以了。
注意
如果是使用MAMP集成工具, 那么需要使用集成工具的`phpsize`命令, 比如`/Applications/MAMP/bin/php/php7.2.10/bin/phpize`
make时找不到php.h
文件
安装xdebug时, phpsize
和 ./configure
完毕之后, 在make
环节出现异常
/xxxxxxxxxxx/xdebug-2.7.2/xdebug.c:25:10: fatal error: 'php.h'
file not found
#include "php.h"
^~~~~~~
1 error generated.
make: *** [xdebug.lo] Error 1
原因: Mojaves没有安装标头,要安装标头
open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
安装完毕, 继续make
, 一切正常了 .
参考
https://cloud.tencent.com/developer/ask/211033
要单独添加zend_extension
extension_dir = "/usr/local/lib/php/pecl/20170718"
zend_extension = "/usr/local/lib/php/pecl/20170718/xdebug.so"
配置xdebug参数
自己按照官方指引,只配置了扩展,没有配置其他xdebug参数,导致最终配置完毕后不生效。开发环境下使用的配置如下:
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;
zend_extension = D:\Dev\PHP7\ext\php_xdebug-2.6.0-7.2-vc15-x86_64.dll
xdebug.remote_enable = On
xdebug.remote_handler = dbgp
xdebug.remote_host= localhost
xdebug.remote_port = 9000
xdebug.idekey = "PHPSTORM"
检测Xdebug是否安装成功,刷新phpinfo页面,看到Xdebug的扩展信息即为配置成功。
PHPStorm配置
由于涉及到大量图片展示,因此只记录需要配置的地方
- File->Settings->Languages&Frameworks->Servers
- File->Settings->Languages&Frameworks->Debug
- File->Settings->Languages&Frameworks->Debug->DBGp Proxy
- Edit Configurations->添加PHP Web Page->配置Server和Start URL(项目路径)
- 小话筒开启监听
- 开启Debug小虫子(会使用默认浏览器打开刚才配置的Start URL页面)
- 打断点,可以调试了
之后可以进行本地开发调试。
☆终极有效配置
基础安装xdebug扩展库成功后, 按如下方式即可
https://segmentfault.com/a/1190000014942730
使用PhpStorm 配置 Debug Configuration 与 Servers 方式
在请求中添加debug按钮 获取的 ?XDEBUG_SESSION_START=19177
即可 (header
, body
, url
都可以)
其他各种千奇百怪的配置方式都 , 都是时刻成功 , 时刻失败 .
注意事项:
PHP 扩展配置文件中 xdebug.remote_port 和 PHPSTORM中PHP->Debug->Xdebug->Debug port 必须一致, 比如9001
更改PHPSTORM的配置后, 点debug按钮重启即可