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 相关文章推荐
基于mysql的论坛(7)
Oct 09 PHP
Php Mssql操作简单封装支持存储过程
Dec 11 PHP
PHP中设置一个严格30分钟过期Session面试题的4种答案
Jul 30 PHP
微信公众平台接口开发入门示例
Dec 24 PHP
谈谈 PHP7新增功能
Dec 16 PHP
微信公众平台DEMO(PHP)
May 04 PHP
php微信高级接口调用方法(自定义菜单接口、客服接口、二维码)
Nov 28 PHP
谈谈php对接芝麻信用踩的坑
Dec 01 PHP
PHP使用preg_split()分割特殊字符(元字符等)的方法分析
Feb 04 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
Nov 14 PHP
在laravel中使用with实现动态添加where条件
Oct 10 PHP
Laravel框架实现即点即改功能的方法分析
Oct 31 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
php5编程中的异常处理详细方法介绍
2008/07/29 PHP
PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
2011/12/16 PHP
关于访问控制的一首PHP面试题(对属性或方法的访问控制)
2012/09/13 PHP
php定义数组和使用示例(php数组的定义方法)
2014/03/29 PHP
简单了解PHP编程中数组的指针的使用
2015/11/30 PHP
ThinkPHP实现生成和校验验证码功能
2017/04/28 PHP
PHP命名空间namespace及use的简单用法分析
2018/08/03 PHP
Yii框架布局文件的动态切换操作示例
2019/11/11 PHP
cookie在javascript中的使用技巧以及隐私在服务器端的设置
2012/12/03 Javascript
Extjs4 消息框去掉关闭按钮(类似Ext.Msg.alert)
2013/04/02 Javascript
js模仿jquery的写法示例代码
2013/06/16 Javascript
jQuery的图片滑块焦点图插件整理推荐
2014/12/07 Javascript
JS之获取样式的简单实现方法(推荐)
2016/09/13 Javascript
解决jQuery ajax动态新增节点无法触发点击事件的问题
2017/05/24 jQuery
基于vue2.0动态组件及render详解
2018/03/17 Javascript
vue源码学习之Object.defineProperty对象属性监听
2018/05/30 Javascript
Vue学习之常用指令实例详解
2020/01/06 Javascript
jquery向后台提交数组的代码分析
2020/02/20 jQuery
js实现带箭头的进度流程
2020/03/26 Javascript
[01:02:53]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第二局
2016/03/06 DOTA
Python使用正则表达式实现文本替换的方法
2017/04/18 Python
python利用OpenCV2实现人脸检测
2020/04/16 Python
Python参数解析模块sys、getopt、argparse使用与对比分析
2019/04/02 Python
python获取array中指定元素的示例
2019/11/26 Python
python 实现保存最新的三份文件,其余的都删掉
2019/12/22 Python
pycharm全局搜索的具体步骤
2020/07/28 Python
西班牙在线宠物商店:zooplus.es
2017/02/24 全球购物
EVE LOM英国官网:全世界最好的洁面膏
2017/10/30 全球购物
新西兰杂志订阅:isubscribe
2019/08/26 全球购物
Clos19英国:高档香槟、葡萄酒和烈酒在线购物平台
2020/07/10 全球购物
教堂婚礼主持词
2014/03/14 职场文书
应届大专生求职信
2014/06/26 职场文书
HR在给员工开具离职证明时,需要注意哪些问题?
2019/07/03 职场文书
python 实现mysql自动增删分区的方法
2021/04/01 Python
详解Js模块化的作用原理和方案
2021/04/29 Javascript
详解Python如何批量采集京东商品数据流程
2022/01/22 Python