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 相关文章推荐
如何开发一个虚拟域名系统
Oct 09 PHP
phpMyAdmin2.11.6安装配置方法
Aug 24 PHP
PHP+ajax 无刷新删除数据
Feb 20 PHP
PHP获取文件后缀名的三个函数
Oct 15 PHP
护卫神php套件 php版本升级方法(php5.5.24)
May 10 PHP
基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能
Feb 24 PHP
PHP 中使用ajax时一些常见错误总结整理
Feb 27 PHP
PHP对象相关知识总结
Apr 09 PHP
Yii框架批量插入数据扩展类的简单实现方法
May 23 PHP
PHP实现批量修改文件名的方法示例
Sep 18 PHP
PHP对接阿里云虚拟号的实现(号码隐私保护)
Apr 06 PHP
PHP实现rar解压读取扩展包小结
Jun 03 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 debug 安装技巧
2011/04/30 PHP
php中限制ip段访问、禁止ip提交表单的代码分享
2014/08/22 PHP
PHP 匿名函数与注意事项详细介绍
2016/11/26 PHP
PHP有序表查找之插值查找算法示例
2018/02/10 PHP
myeclipse安装jQuery插件的方法
2011/03/29 Javascript
JS对select控件option选项的增删改查示例代码
2013/10/21 Javascript
jquery插件之定时查询待处理任务数量
2014/05/01 Javascript
jquery+javascript编写国籍控件
2015/02/12 Javascript
javaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序整理总结
2016/10/10 Javascript
详解react服务端渲染(同构)的方法
2017/09/21 Javascript
vue-router history模式下的微信分享小结
2018/07/05 Javascript
jQuery实现简单复制json对象和json对象集合操作示例
2018/07/09 jQuery
JavaScript基于数组实现的栈与队列操作示例
2018/12/22 Javascript
简单了解Ajax表单序列化的实现方法
2019/06/14 Javascript
判断JavaScript中的两个变量是否相等的操作符
2019/12/21 Javascript
[01:02:55]CHAOS vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
python利用微信公众号实现报警功能
2018/06/10 Python
selenium+python实现1688网站验证码图片的截取功能
2018/08/14 Python
浅谈pandas筛选出表中满足另一个表所有条件的数据方法
2019/02/08 Python
Python3内置模块之base64编解码方法详解
2019/07/13 Python
用Python抢火车票的简单小程序实现解析
2019/08/14 Python
Python中openpyxl实现vlookup函数的实例
2020/10/28 Python
纯CSS3实现的阴影效果
2014/12/24 HTML / CSS
HTML5实现可缩放时钟代码
2017/08/28 HTML / CSS
俄罗斯一家时尚女装商店:Charuel
2019/12/04 全球购物
Linux文件系统类型
2012/09/16 面试题
求职自荐书范文
2013/12/04 职场文书
高中自我评价分享
2013/12/05 职场文书
办公室秘书自我鉴定
2014/01/18 职场文书
行政部岗位职责范本
2014/03/13 职场文书
吨的认识教学反思
2014/04/27 职场文书
毕业生工作求职信
2014/06/30 职场文书
学习实践科学发展观心得体会
2014/09/10 职场文书
医德医风个人总结
2015/02/28 职场文书
开除通知书范本
2015/04/25 职场文书
分享提高 Python 代码的可读性的技巧
2022/03/03 Python