phpstorm + xdebug 断点调试
环境说明#
宿主机 deepin 系统,用的是 docker-compose 搭建 laravel
php.ini 添加 xdebug 模块#
- 下载 xdebug 模块
- 首先打印 phpinfo () 全选复制到 https://xdebug.org/wizard 这个链接的文本域中 并且点击这个按钮生成
点击下载
注:由于我之前下载 2.7.1 版本的,并且适用 php 7.1,固这里不下载 2.9
解压并进入 xdebug 目录
tar -xvzf xdebug-2.9.0.tgz cd xdebug-2.9.0
编译并生成.so 文件
phpize # 生成configure文件 ./configure --enable-xdebug # 配置 make && make install # 编译并生成
复制 xdebug.so 模块到指定目录
cd modules/ mkdir /usr/local/bin/modules cp xdebug.so /usr/local/bin/modules
找到 php.ini 文件 在最后插入
[xdebug] zend_extension=/usr/local/bin/modules/xdebug.so xdebug.profiler_enable=on #开启性能监控(一般在正式环境不建议开启) xdebug.trace_output_dir="/usr/local/php/xdebug_trace" #程序执行顺序日志 xdebug.profiler_output_dir="/usr/local/php/xdebug_profiler" #程序执行性能日志 xdebug.default_enable=0 xdebug.remote_enable=1 xdebug.remote_handler=dbgp xdebug.remote_host=192.168.5.24 xdebug.remote_port=9000 xdebug.remote_connect_back=0 xdebug.remote_autostart=1 xdebug.idekey=PHPSTORM xdebug.remote_log=/usr/local/php/xdebug/remote.log
zend_extension 这个值就是 xdebug.so 的目录,xdebug.remote_host 是电脑 ip,xdebug.idekey 这个值要跟 phpstrom 编辑器设置的一致
重启 php 打印 phpinfo(),如果有下图,表示成功
因为我用的是 docker 刚开始没有 php.ini 文件find / -name php.ini*
进入 /usr/local/etc/php,并且根据 php.ini-development 复制一份 php.ini
cd /usr/local/etc/php
mv php.ini-development php.ini
接下来配置 phpstorm#
|file|settings
这里的 debug port 要跟上面 php.ini 里面 xdebug.remote_port 的值一致
配置 DBGp Proxy,这里 IDE key 要跟下面浏览器 debug 配置的 key 一致
配置 servers,这里的 host,本地项目一般填 localhost,端口要跟服务器配置的一致,我的是宿主机 81 端口映射到 docker 容器 80 端口,所以填 81,Debugger 这里选择 Xdebug ,下面的 File/Directory 配置的是宿主机 php 项目所在目录,而 absolute path on the server 配置的是 Docker 容器中的项目目录
配置 |Run|Debug Configurations
添加一个 PHP Web Page
谷歌浏览器安装 xdebug helper
插件#
安装完成后,右键选择 "选项",IDE key 选择 "PhpStorm",后面输入 "PHPSTORM" 点击 save 按钮即可:
点击右上角这个电话虫,设置断点,浏览器刷新,就可以进行断点调试
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: