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新手NOTICE错误常见解决方法
Dec 07 PHP
PHP编码转换
Nov 05 PHP
php设计模式之观察者模式的应用详解
May 21 PHP
php调用mysql存储过程实例分析
Dec 29 PHP
PHP制作百度词典查词采集器
Jan 29 PHP
详解PHP错误日志的获取方法
Jul 20 PHP
PHP从二维数组得到N层分类树的实现代码
Oct 11 PHP
php将服务端的文件读出来显示在web页面实例
Oct 31 PHP
laravel 自定义常量的两种方案
Oct 14 PHP
php判断某个方法是否存在函数function_exists (),method_exists()与is_callable()区别与用法解析
Apr 20 PHP
PHP const定义常量及global定义全局常量实例解析
May 28 PHP
laravel使用redis队列实例讲解
Mar 23 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
通过PHP CLI实现简单的数据库实时监控调度
2009/07/01 PHP
php分页代码学习示例分享
2014/02/20 PHP
php基于base64解码图片与加密图片还原实例
2014/11/03 PHP
php检查是否是ajax请求的方法
2015/04/16 PHP
jQuery学习基础知识小结
2010/11/25 Javascript
javascript中使用replaceAll()函数实现字符替换的方法
2010/12/25 Javascript
javascript nextSibling 与 getNextElement(node) 使用介绍
2011/10/13 Javascript
javascript中验证大写字母、数字和中文
2014/01/15 Javascript
js控制容器隐藏出现防止样式变化的两种方法
2014/04/25 Javascript
jquery实现可横向和竖向展开的动态下滑菜单效果
2015/08/24 Javascript
浅谈JavaScript的push(),pop(),concat()方法
2016/06/03 Javascript
vue左右侧联动滚动的实现代码
2018/06/06 Javascript
JS利用prototype给类添加方法操作详解
2019/06/21 Javascript
JS中的算法与数据结构之链表(Linked-list)实例详解
2019/08/20 Javascript
小程序实现层叠卡片滑动效果
2019/08/26 Javascript
js 对象使用的小技巧实例分析
2019/11/08 Javascript
[01:45]绝对公平!DOTA2队长征召模式详解
2014/04/25 DOTA
Python的爬虫框架scrapy用21行代码写一个爬虫
2017/04/24 Python
python爱心表白 每天都是浪漫七夕!
2018/08/18 Python
python绘制随机网络图形示例
2019/11/21 Python
基于python图像处理API的使用示例
2020/04/03 Python
python3的pip路径在哪
2020/06/23 Python
PyQt5 QDockWidget控件应用详解
2020/08/12 Python
SmartBuyGlasses德国:购买太阳镜和眼镜
2019/08/20 全球购物
DOM和JQuery对象有什么区别
2016/11/11 面试题
css animation配合SVG制作能量流动效果
2021/03/24 HTML / CSS
管理部部长岗位职责
2013/12/05 职场文书
建议书标准格式
2014/03/12 职场文书
2014年幼儿园国庆主题活动方案
2014/09/16 职场文书
2015年试用期自我评价范文
2015/03/10 职场文书
民间借贷借条范本
2015/05/25 职场文书
2015年幼儿园师德师风建设工作总结
2015/10/23 职场文书
优秀党员主要事迹范文
2015/11/05 职场文书
《秦兵马俑》教学反思
2016/02/24 职场文书
python中sys模块的介绍与实例
2021/04/17 Python
CSS3 实现NES游戏机的示例代码
2021/04/21 HTML / CSS