前言
php是脚本型程序 每次出错都要手动exit断点程序不是很方便
哪里有需求哪里就有生产,Xdebug可以实现对php的断点调试。下面将我个人的安装经历分享给大家。
运行环境 windows 、lamp、phpstorm 、chrome (配置方法一样 Ubuntu也通用)
一、首先安装xdebug
安装xdebug比较简单 ,运行php -i >phpinfo.txt 或者 echo phpinfo();将全部信息贴到https://xdebug.org/wizard.php这个网站提示的文本域中点击
如下图红色的框是网站提示的安装步骤,黄色的框是我已安装的信息(可以忽略)。
补充在编辑php.ini文件的时候多添加几行
[Xdebug]
zend_extension = "H:\install\phpstudy_pro\Extensions\php\php7.3.4nts\ext\php_xdebug-2.9.4-7.3-vc15-nts-x86_64.dll" xdebug.idekey="PHPSTORM"
xdebug.remote_handler = "dbgp"
xdebug.remote_mode = "req"
xdebug.remote_host=127.0.0.1
xdebug.remote_enable=on
xdebug.remote_port = 9100 //这是设置端口 可以改 只要下面这是phpstorm 一致就可以
xdebug.remote_autostart = no
二、安装chrome xdebug helper插件
打开 chrome的webstore搜索 xdebug 我已经添加了。需要* 可以下个vpn 蓝灯 慕风都可以 或者配置host
安装完之后 浏览器会有一个小甲虫 右击点击选项 选择phpstorm 点击save退出
备注:
安装完 可以打印phpinfo 查看xdebug信息 ,或者php -v 查看下有没有xdebug信息
三、配置phpstorm
1、servers设置
菜单栏 file->setting->php->servers(找不到可以搜索server就出来了)
2、php设置 选择自己的php版本(注如果遇到图2这种情况点击标记的按钮找到自己的php.exe文件即可)
3 设置debug 勾选一下 会忽略端口冲突等信息
4 设置dbgp
IDE key 是上面php.ini里面设置的key
这边配置localhost 就行,具体的debug项目域名再run那边配置
5 编辑结构选择一下自己配置的域名 startUrl 可以根据自己的项目配置 我的域名已经指向项目根目录了 所有直接是/
四、启用xdebug
1、点击phpstorm右上角的电话 绿色波纹就是开始监听了
2、右击浏览器右上角的小甲虫 选择debug
3、设置断点
4、访问设置断点的控制器 phpstorm会弹出调试信息 可以点击小绿三角 调试下一个断点
五、其他情况说明
1、端口占用(9000 port is busy)
解决方法:更换端口
那就编辑php.ini换个端口对应的 file->setting->php-> debug 也要换掉
重新启动下php 再调试看看。
2、无法映射到服务器文件(file path is not mapped to any file path on server. edit path mappings to fix the problem)
解决方法:配置项目在服务器的绝对路径
3、调试总是断点在index.php 的第一行
附上phpstorm 官方配置说明:
https://blog.jetbrains.com/webide/2011/03/configure-php-debugging-in-phpstorm-2-0/