首页 ? 实用经验 ? phpstorm配置xdebug进行远程调试(已成功配置)

phpstorm配置xdebug进行远程调试(已成功配置)

添加评论 次yabo2018.net 注册网

【提示】 非法信息举报请联系本站小编 QQ:5.4069748.5

本文来自网络,原文链接:http://www.cnblogs.com/dtiove/p/5644833.html

写这篇文章的时候,因为自己也像很多新手一样犯了很多基础的错误,由于发现网上一些资料大多数是针对本地的,对各个配置的原因讲解并不清楚,所以我花费了蛮长时间弄懂了整个调试的过程

  一:操作环境:

  ubuntu 14.04 php5.5 +apache ? ?windows phpstorm

  二:准备工作,在保证php与apache能够正常工作的情况下

  1:sudo apt-cache search xdebug

  先查找xdebug相关的软件名,然后安装php的

  sudo apt-get install -y php5-xdebug

  2:安装完成之后

  如果是用apt安装的php,我们就可以到/etc/php5/apache2下面找到php.ini

  注意cli目录下面也有一个php.ini,这是因为php的配置被合理的分成两类,cli目录下面的主要做拓展配置使用

  编辑之后,添加[Xdebug]板块

  

这张图是我所做的配置,其实配置上不会有很大问题,大家注意一下,xdebug.remote_host 的ip要填你的phpstorm,也就是你的windows所在的ip,

xdebug.remote_port默认是9000,但是一般情况下,windows的9000端口会被占用,建议在关闭windows防火墙的时候,随意写一个端口,或者是开启防火墙,在新建策略里面开启一个端口供远程调试使用

下面给大家一个官网对各个配置的说明:https://xdebug.org/docs/all_settings

官网已经说的非常详细了,在此不再赘述,注意一个点xdebug.idekey,如果配置了这个idekey,就要记住它

?

  三:配置phpstorm

  1:首先把项目文件复制一份到你的虚拟机,或者是服务器里面,可以放在apache的网站根目录下面,然后做项目代码的同步(就是你在本地修改的代码,会自动同步到服务器中,服务器中的php来编译你的代码)

  

  

  2:配置链接远程服务器

  

  3:做本地的项目和远程的项目映射

  

  大家可以做一下参考,网上这类自动远程部署的教程 很多,大家可以照着做,下面来介绍一下xdebug的配置和使用

  在文件->设置->语言与框架中 ?找到debug

  

找到xdebug 栏目,并配置debug port的端口为你之前设置的端口

?

?在DBGp Proxy中配置你的idekey idekey就是你在配置文件中写的那个,host是你的服务器ip,port可以自选,一般默认选80就好了

很重要的一步:配置server部分

自己手动添加一个,Host填服务器ip,然后port是默认80端口,如果你修改过,你可以更改成你设置的web端口,debug选xdebug

服务器的绝对路径,主要自己要手动输入进去,在配置完成之后,重启apache,然后就可以使用xdebug了,具体的使用方法如下:

在运行-》编辑结构

自己手动添加一个xdebug实例,server选择刚才配置的server名称

starturl,这个我配置了虚拟域名,一样可以通过ip什么的

保存成功之后,现在项目文件中插入断点,然后点击

这样的按钮,f7进行逐语句调试,f9进行逐过程调试


错误处理:

Cannot accept external Xdebug connection: Cannot evaluate expression 'isset($_SERVER['PHP_IDE_CONFIG'])?

出现这个错误的主要原因是php.ini配置的问题

For anyone who finds this, the problem was caused by using 'extension' rather than 'zend_extension' to load the xdebug module in the php.ini.

翻译之后的大概意思是:php.ini载入xdebug.so的前缀应该是zend_extension,而不应该是extension

完整的配置项如下(注意:要填写绝对路径,否则重启时会出错)

zend_extension=/path/xdebug.so


接下来就可以调试了。

调试技巧:

在需要调试的行上打上断点(点击一下行号后面的空白处即可,再点一次取消断点),需要说明的是当程序运行到该断点时,程序会停留在该行,但该行本身不会执行。自此可以查看程序运行到此处时所包含的所有数据信息。当然,查看信息功能相当于使用echo,print或者var_dump。

操作流程:

打断点—>点击臭虫—>点击浏览器页面触发断点—>自动跳转回PhpStorm—>查看携带的数据(调试的目的)—>可按步执行查找问题点—>点击运行(或者F5)—>浏览器页面继续执行—>调试完成