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 快速生成 Flash 动画的方法
Mar 06 PHP
PHP+Tidy-完美的XHTML纠错+过滤
Apr 10 PHP
php Try Catch异常测试
Mar 01 PHP
PHP学习笔记 用户注册模块用户类以及验证码类
Sep 20 PHP
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
Jan 26 PHP
php从给定url获取文件扩展名的方法
Mar 14 PHP
PHP测试成功的邮件发送案例
Oct 26 PHP
WordPress导航菜单的滚动和淡入淡出效果的实现要点
Dec 14 PHP
PHP实现多级分类生成树的方法示例
Feb 07 PHP
PHP获取当前URL路径的处理方法(适用于多条件筛选列表)
Feb 10 PHP
PHP实现对数字分隔加千分号的方法
Mar 18 PHP
php中isset与empty函数的困惑与用法分析
Jul 05 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 fopen()和 file_get_contents()应用与差异介绍
2014/03/19 PHP
php动态生成缩略图并输出显示的方法
2015/04/20 PHP
PHP微信公众号自动发送红包API
2016/06/01 PHP
PHP微信分享开发详解
2017/01/14 PHP
用jscript启动sqlserver
2007/06/21 Javascript
javascript实现的DES加密示例
2013/10/30 Javascript
js中window.open()的所有参数详细解析
2014/01/09 Javascript
javascript的动态加载、缓存、更新以及复用(一)
2014/06/09 Javascript
当前流行的JavaScript代码风格指南
2014/09/10 Javascript
使用AngularJS创建自定义的过滤器的方法
2015/06/18 Javascript
JavaScript编程学习技巧汇总
2016/02/21 Javascript
jQuery实现可展开折叠的导航效果示例
2016/09/12 Javascript
js实现功能比较全面的全选和多选
2017/03/02 Javascript
jQuery插件HighCharts绘制简单2D柱状图效果示例【附demo源码】
2017/03/21 jQuery
自带气泡提示的vue校验插件(vue-verify-pop)
2017/04/07 Javascript
bootstrap轮播图示例代码分享
2017/05/17 Javascript
js中getBoundingClientRect的作用及兼容方案详解
2018/02/01 Javascript
[00:12]2018DOTA2亚洲邀请赛 Sccc亮相SOLO赛,今年他又会有什么样的战绩?
2018/04/06 DOTA
Python中selenium实现文件上传所有方法整理总结
2017/04/01 Python
Python利用ElementTree模块处理XML的方法详解
2017/08/31 Python
Python实现修改IE注册表功能示例
2018/05/10 Python
目前最全的python的就业方向
2018/06/05 Python
检测python爬虫时是否代理ip伪装成功的方法
2019/07/12 Python
python 采用paramiko 远程执行命令及报错解决
2019/10/21 Python
python paramiko远程服务器终端操作过程解析
2019/12/14 Python
Python paramiko 模块浅谈与SSH主要功能模拟解析
2020/02/29 Python
PyQt5事件处理之定时在控件上显示信息的代码
2020/03/25 Python
python进行OpenCV实战之画图(直线、矩形、圆形)
2020/08/27 Python
CSS3教程(7):CSS3嵌入字体
2009/04/02 HTML / CSS
Reebonz中国官网:新加坡奢侈品购物网站
2017/03/17 全球购物
Superdry瑞典官网:英国日本街头风品牌
2017/05/17 全球购物
应用数学自荐书范文
2013/11/24 职场文书
岗位职责说明书模板
2014/07/30 职场文书
2015年护士节活动总结
2015/02/10 职场文书
大学学生会主席竞选稿
2015/11/19 职场文书
简单聊一聊SQL注入及防止SQL注入
2022/03/23 MySQL