关于php的xdebug配置(编辑器vscode)
虽然说echo和print_r是公认的最实用的调试工具,但是效率真的没有可视化的直接断点那么高。这里简单介绍如果安装及配置xdebug for vscode
一、PHP环境处的配置
1、编译安装
下载及编译php,因为我所在的公司php版本是5.4的,所以去xdebug官网上选了相对比较底的版本. 您也可以根据你们的实际情况下载相应的xdebug版本:https://xdebug.org/download.php
wget https://xdebug.org/files/xdebug-2.4.1.tgz tar -xvf xdebug-2.4.1.tgz cd xdebug-2.4.1/ phpize ./configure make install
make最终结束输出:
make install最终结束输出:
2、配置php.ini文件
这个是我的配置。为了使得可配性更强。我将xdebug配置写到: /etc/php.d/xdebug.ini
[Xdebug] zend_extension="/usr/lib64/php/modules/xdebug.so" #这里改成你在make install后的路径。 xdebug.remote_enable = true xdebug.remote_host = 10.0.5.176 #改成你的vscode所以机器的ip地址 #default port 9000 xdebug.remote_port = 9000 #如果9000端口冲突了,可以换一个。不过相应的vscode配置也要相应的改变 xdebug.profiler_enable = on xdebug.auto_trace = On xdebug.show_exception_trace = On xdebug.remote_autostart = On xdebug.collect_vars = On xdebug.collect_return = On xdebug.remote_handler =dbgp xdebug.max_nesting_level = 10000 xdebug.trace_output_dir = "D:/code/videochat" #我这里写的是php代码所在的路径
二、配置vscode
1、使用vscode打开php工程后。安装php-debug及生成调试配置文件,如图所示,依次点击这些按钮
2、如下操作后,会出现如下选项框。选中php即可
3、选中后,会出现一个json的配置文件
修改此json文件,注意serverSourceRoot改成你服务器上,php所在的路径。不然即使断下来后,会出现找不到文件的异常
{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "Listen for XDebug", "type": "php", "request": "launch", "port": 9000, "stopOnEntry":false, "localSourceRoot": "${workspaceRoot}", "serverSourceRoot": "/work/videochat" }, { "name": "Launch currently open script", "type": "php", "request": "launch", "program": "${file}", "cwd": "${fileDirname}", "port": 9000 } ] }
最后,在vscode里断点好后。按F5,等待请求,即可享受图形化的调试乐趣
![](/img/my/wx.png)
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
FragmentPagerAdapter 页面类型、数量、内容更新问题
场景 存在一种需求,当用户系统中,属于某一组织的用户登录之后(或者账户切换),要求主页面显示不同的ViewPager + Fragment组合,并且要求app无需退出就能刷新组合以及组合中的页面。 此外,为了保证Fragment和Fragment中View不必要的inflate和渲染,要求尽可能重用已存在的Fragment和View。显然FragmentPagerAdapter是首选。但是存在三个问题: 1、FragmentPagerAdapter默认无法更新,需要重写getItemPosition,返回值为PagerAdapter.POSITION_NONE才可以更新 2、重用的Fragment设置参数无法重新初始化 3、重用的Fragment类型和新的Fragment类型存在不匹配问题,如旧的UserFragment页面,但是新的要求是ListFragment,所以类型存在问题。 解决方案 我们需要重写FragmentPagerAdapter,但问题是存在各种不方便的因素,因此,我们需要自定义FragmentPagerAdapter。 public abstract class ...
- 下一篇
如何使用less实现随机下雪动画详解
冬天来了,设计师说摇摇乐的场景需要随机下落的雪花动画,第一时间就想到的方法是canvas比较好,项目非常紧急,然而小程序对canvas支持不够友好,容易在项目中出现无法预估的兼容性问题,马上又否定了这种想法,想了想用javascript来写随机动画成本又高。既不用canvas也不用javascript来实现,最终决定使用css预处理器less来实现随机雪花,less怎么可能实现随机雪花?对于喜欢写css的人来说,这非常有趣。 上图的雪花效果还蛮炫酷吧,怎么实现呢?less因为有以下的2个特点,可以尝试使用它来实现我们的场景 1.递归调用 实际上less并没有自带类似javascript的for循环的功能,但less可以用过引导when来实现条件判断,简单的方法也可以让聪明的程序员简单实现递归调用 .snow(@n) when (@n > 0) { fn()//生成雪花函数fn( .snow((@n - 1));//再次执行函数fn() } .snow(60);//执行次数 2.避免编译JavaScript 表达式 雪花需要生成的随机数,我们需要运用javascript...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2全家桶,快速入门学习开发网站教程