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程序中的常见漏洞进行攻击(下)
Oct 09 PHP
基于php下载文件的详解
Jun 02 PHP
浅谈web上存漏洞及原理分析、防范方法(文件名检测漏洞)
Jun 29 PHP
php中如何判断一个网页请求是ajax请求还是普通请求
Aug 10 PHP
PHP代码优化之成员变量获取速度对比
Feb 28 PHP
初识PHP中的Swoole
Apr 05 PHP
PHP 绘制网站登录首页图片验证码
Apr 12 PHP
php查询操作实现投票功能
May 09 PHP
Laravel 5.3 学习笔记之 安装
Aug 28 PHP
php usort 使用用户自定义的比较函数对二维数组中的值进行排序
May 02 PHP
PHP基于redis计数器类定义与用法示例
Feb 08 PHP
Laravel 关联模型-关联新增和关联更新的方法
Oct 10 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
wiki-shan写的php在线加密的解密程序
2008/09/07 PHP
PHP企业级应用之常见缓存技术篇
2011/01/27 PHP
Apache启动报错No space left on device: AH00023该怎么解决
2015/10/16 PHP
struts2 jquery 打造无限层次的树
2009/10/23 Javascript
jQuery 开发者应该注意的9个错误
2012/05/03 Javascript
jQuery语法高亮插件支持各种程序源代码语法着色加亮
2013/04/27 Javascript
优化Jquery,提升网页加载速度
2013/11/14 Javascript
Javascript保存网页为图片借助于html2canvas库实现
2014/09/05 Javascript
jQuery实现图片走马灯效果的原理分析
2016/01/16 Javascript
使用NodeJs 开发微信公众号(三)微信事件交互实例
2016/03/02 NodeJs
React.js入门实例教程之创建hello world 的5种方式
2016/05/11 Javascript
jquery.form.js框架实现文件上传功能案例解析(springmvc)
2016/05/26 Javascript
JS对HTML表格进行增删改操作
2016/08/22 Javascript
微信小程序实现给嵌套template模板传递数据的方式总结
2017/12/18 Javascript
详解Vue2.0配置mint-ui踩过的那些坑
2018/04/23 Javascript
vue如何解决循环引用组件报错的问题
2018/09/22 Javascript
Mpvue中使用Vant Weapp组件库的方法步骤
2019/05/16 Javascript
原生js实现针对Dom节点的CRUD操作示例
2019/08/26 Javascript
基于js实现抽红包并分配代码实例
2019/09/19 Javascript
详解小程序横屏方案对比
2020/06/28 Javascript
jQuery+ajax实现用户登录验证
2020/09/13 jQuery
Flask的图形化管理界面搭建框架Flask-Admin的使用教程
2016/06/13 Python
django 环境变量配置过程详解
2019/08/06 Python
Python中IP地址处理IPy模块的方法
2019/08/16 Python
python 计算积分图和haar特征的实例代码
2019/11/20 Python
如何使用repr调试python程序
2020/02/28 Python
基于Numba提高python运行效率过程解析
2020/03/02 Python
香港草莓网土耳其网站:Strawberrynet TR
2017/03/02 全球购物
老师自我鉴定范文
2013/12/25 职场文书
校园新闻广播稿
2014/01/10 职场文书
简单的大学生自我鉴定
2014/02/18 职场文书
科技之星事迹材料
2014/06/02 职场文书
大学生学习面向未来的赶考思想汇报
2014/09/12 职场文书
体育运动会广播稿
2014/10/05 职场文书
Django REST framework 限流功能的使用
2021/06/24 Python
vue+iview实现手机号分段输入框
2022/03/25 Vue.js