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下一个阿拉伯数字转中文数字的函数
Jul 16 PHP
PHP优于Node.js的五大理由分享
Sep 15 PHP
php文本转图片自动换行的方法
Mar 13 PHP
PHP获取当前url的具体方法全面解析
Nov 26 PHP
php页面缓存方法小结
Jan 10 PHP
php打印一个边长为N的实心和空心菱型的方法
Mar 02 PHP
使用Yii2实现主从数据库设置
Nov 20 PHP
PHP实现的常规正则验证helper公共类完整实例
Apr 27 PHP
利用laravel+ajax实现文件上传功能方法示例
Aug 13 PHP
PHP让数组中有相同值的组成新的数组实例
Dec 31 PHP
利用PHP判断是手机移动端还是PC端访问的函数示例
Dec 14 PHP
PHP htmlspecialchars() 函数实例代码及用法大全
Sep 18 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 第三节 变量介绍
2012/04/28 PHP
php实现上传图片文件代码
2015/07/19 PHP
Zend Framework数据库操作技巧总结
2017/02/18 PHP
javascript iframe编程相关代码
2009/12/28 Javascript
jquery 弹出层注册页面等(asp.net后台)
2010/06/17 Javascript
JS打开层/关闭层/移动层动画效果的实例代码
2013/05/11 Javascript
jQuery实现密保互斥问题解决方案
2013/08/16 Javascript
javascript中的Base64、UTF8编码与解码详解
2015/03/18 Javascript
Jquery网页内滑动缓冲导航的实现代码
2015/04/05 Javascript
浅析jQuery Ajax通用js封装
2016/06/22 Javascript
JQuery 设置checkbox值二次无效的解决方法
2016/07/22 Javascript
JS封装的三级联动菜单(使用时只需要一行js代码)
2016/10/24 Javascript
JavaScript仿聊天室聊天记录
2016/12/27 Javascript
JS数组操作之增删改查的简单实现
2017/08/21 Javascript
利用JQuery操作iframe父页面、子页面的元素和方法汇总
2017/09/10 jQuery
web前端开发中常见的多列布局解决方案整理(一定要看)
2017/10/15 Javascript
Vue resource三种请求格式和万能测试地址
2018/09/26 Javascript
详解axios中封装使用、拦截特定请求、判断所有请求加载完毕)
2019/04/09 Javascript
Vue 电商后台管理项目阶段性总结(推荐)
2020/08/22 Javascript
[32:47]完美世界DOTA2联赛 GXR vs IO 第二场 11.07
2020/11/09 DOTA
Python中使用PIPE操作Linux管道
2015/02/04 Python
OpenCV实现人脸识别
2017/04/07 Python
python3使用requests模块爬取页面内容的实战演练
2017/09/25 Python
详解pandas的外部数据导入与常用方法
2019/05/01 Python
python导包的几种方法(自定义包的生成以及导入详解)
2019/07/15 Python
django之导入并执行自定义的函数模块图解
2020/04/01 Python
python开发入门——set的使用
2020/09/03 Python
波兰家居和花园家具专家:4Home
2019/05/26 全球购物
英国莱斯特松木橡木家具网上商店:Choice Furniture Superstore
2019/07/05 全球购物
银行会计业务的个人自我评价
2013/11/02 职场文书
校园招聘策划书
2014/01/09 职场文书
2014广电局实施党的群众路线教育实践活动方案思想汇报
2014/09/22 职场文书
党支部四风整改方案
2014/10/25 职场文书
机关党员四风问题个人整改措施
2014/10/26 职场文书
护理专业毕业自我鉴定
2019/08/12 职场文书
pandas提升计算效率的一些方法汇总
2021/05/30 Python