PHP远程调试之XDEBUG


Posted in PHP onDecember 29, 2015

开发的时候我都是使用XDebug在本地调试,但是最近加入一些项目中去,环境太复杂了,要在本地搭建一个开发环境真的太麻烦了,那么我们怎么使用xdebug来远程调试呢?

我这里使用虚拟机搭建了一个模拟环境来实验说明:

1.虚拟机IP:192.168.174.130 ,虚拟机用于搭建lampp环境

2.实体机IP:192.168.174.1,这个是IDE的开发环境。

首先我在虚拟机里面安装了一个lampp,而且增加了一vhosts,具体如下:

vim /opt/lampp/etc/extra/httpd-vhosts.conf
<VirtualHost *:80>
  ServerAdmin webmaster@dummy-host.example.com
  DocumentRoot "/data/web"
    <Directory "/data/web">
        Options All
        AllowOverride All
        Require all granted
    </Directory>
  ServerName www.test.com
  ErrorLog "test-error_log"
  CustomLog "test-access_log" common
</VirtualHost>

这里为了方便给vhosts设置一个域名,这个需要修改实体机的/etc/hosts后才能访问:

192.168.174.130    www.test.com

关键的一步我们需要设置虚拟机中的php.ini来支持xdebug远程调试,增加了如下代码:

vim /opt/lampp/etc/php.ini
zend_extension="/opt/lampp/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so"
[xdebug]
xdebug.default_enable=1
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_host=192.168.174.130
xdebug.remote_port=9000
xdebug.remote_connect_back=1
xdebug.remote_autostart=1

最关键的两个设置xdebug.remote_host和xdebug.remote_connect_back,remote_host要设置成服务器的ip,remote_connect_back要设置成1或者on

到这里,服务端就设置好了,接下来我们来设置ide了,请原谅我是一个ide工具党。我使用的Intellij IDEA,而PHPStorm的设置也是一样的。

第一设置项目的server

PHP远程调试之XDEBUG

在Host那里要填上,能够正常访问到虚拟机服务器的地址,我们之前设置的虚拟域名是www.test.com,所以我图上也是写得这个。

最关键的设置地方就是要勾上这个路径映射,然后将需要调试的文件写上它在服务器上的路径,比如我这里需要调试a.php,而在虚拟机服务器上我们设置的web目录是/data/web/,那么它映射的路径就应该是/data/web/a.php了。

一切设置好了以后,就可以像本地调试那样开始了。

PHP远程调试之XDEBUG

OK了,没有什么技术含量,但希望能帮到需要的朋友,注意把文章中得ip地址,修改你自己的服务器的地址。

以上内容给大家分享了PHP远程调试之XDEBUG的相关知识,希望大家喜欢。

PHP 相关文章推荐
如何在PHP中使用Oracle数据库(6)
Oct 09 PHP
转PHP手册及PHP编程标准
Dec 17 PHP
一些常用的php简单命令代码集锦
Sep 24 PHP
php判断输入不超过mysql的varchar字段的长度范围
Jun 24 PHP
CI框架入门示例之数据库取数据完整实现方法
Nov 05 PHP
php实现比较两个字符串日期大小的方法
May 12 PHP
PHP生成和获取XML格式数据的方法
Mar 04 PHP
php bootstrap实现简单登录
Mar 08 PHP
PHP里面把16进制的图片数据显示在html的img标签上(实现方法)
May 02 PHP
[企业公众号]升级到[企业微信]之后发送消息失败的解决方法
Jun 30 PHP
浅谈php的TS和NTS的区别
Mar 13 PHP
php引用传递
Apr 01 PHP
从性能方面考虑PHP下载远程文件的3种方法
Dec 29 #PHP
Yii快速入门经典教程
Dec 28 #PHP
WordPress主题制作之模板文件的引入方法
Dec 28 #PHP
WordPress的主题编写中获取头部模板和底部模板
Dec 28 #PHP
YiiFramework入门知识点总结(图文教程)
Dec 28 #PHP
讲解WordPress中用于获取评论模板和搜索表单的PHP函数
Dec 28 #PHP
Yii实现单用户博客系统文章详情页插入评论表单的方法
Dec 28 #PHP
You might like
Ajax PHP简单入门教程代码
2008/04/25 PHP
PHP 开发环境配置(Zend Studio)
2010/04/28 PHP
php防盗链的常用方法小结
2010/07/02 PHP
PHP性能优化工具篇Benchmark类调试执行时间
2011/12/06 PHP
高性能PHP框架Symfony2经典入门教程
2014/07/08 PHP
PHP仿微信发红包领红包效果
2016/10/30 PHP
php中的钩子理解及应用实例分析
2019/08/30 PHP
Extjs 几个方法的讨论
2010/01/28 Javascript
xml文档转换工具,附图表例子(hta)
2010/11/17 Javascript
基于Jquery实现表格动态分页实现代码
2011/06/21 Javascript
使用基于jquery的gamequery插件做JS乒乓球游戏
2011/07/31 Javascript
html中table数据排序的js代码
2011/08/09 Javascript
jQuery.buildFragment使用方法及思路分析
2013/01/07 Javascript
js日期相关函数总结分享
2013/10/15 Javascript
js实现数字每三位加逗号的方法
2015/02/05 Javascript
JavaScript中的Math.atan2()方法使用详解
2015/06/15 Javascript
解决jquery插件:TypeError:$.browser is undefined报错的方法
2015/11/21 Javascript
Bootstrap每天必学之模态框(Modal)插件
2016/04/26 Javascript
mockjs,json-server一起搭建前端通用的数据模拟框架教程
2017/12/18 Javascript
详解Vue.directive 自定义指令
2019/03/27 Javascript
微信小程序在线客服自动回复功能(基于node)
2019/07/03 Javascript
Layui表格行工具事件与数据回填方法
2019/09/13 Javascript
小程序接口的promise化的实现方法
2019/12/11 Javascript
在Python中操作列表之List.append()方法的使用
2015/05/20 Python
Python+OpenCV人脸检测原理及示例详解
2020/10/19 Python
python文件拆分与重组实例
2018/12/10 Python
Python实现 版本号对比功能的实例代码
2019/04/18 Python
Python3之乱码\xe6\x97\xa0\xe6\xb3\x95处理方式
2020/05/11 Python
浅谈html5 响应式布局
2014/12/24 HTML / CSS
利用Storage Event实现页面间通信的示例代码
2018/07/26 HTML / CSS
优秀毕业生求职推荐信范文
2013/11/21 职场文书
交通安全教育制度
2014/02/02 职场文书
2014年作风建设剖析材料
2014/10/23 职场文书
反腐倡廉心得体会2016
2016/01/13 职场文书
基于python实现银行管理系统
2021/04/20 Python
springboot集成flyway自动创表的详细配置
2021/06/26 Java/Android