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 协议》,转载必须注明作者和本文链接
推荐文章: