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 相关文章推荐
如何使用脚本模仿登陆过程
Nov 22 PHP
《PHP编程最快明白》第八讲:php启发和小结
Nov 01 PHP
浅析php中如何在有限的内存中读取大文件
Jul 02 PHP
PHP依赖倒置(Dependency Injection)代码实例
Oct 11 PHP
WordPress导航菜单的滚动和淡入淡出效果的实现要点
Dec 14 PHP
微信支付开发交易通知实例
Jul 12 PHP
PHP二维关联数组的遍历方式(实例讲解)
Oct 18 PHP
Laravel学习教程之model validation的使用示例
Oct 23 PHP
使用PHP访问RabbitMQ消息队列的方法示例
Jun 06 PHP
php生成HTML文件的类方法
Oct 11 PHP
PHP CURL实现模拟登陆并上传文件操作示例
Jan 02 PHP
详解Laravel服务容器的优势
May 29 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对二维数组进行排序的简单实例
2013/12/19 PHP
PHP里8个鲜为人知的安全函数分析
2014/12/09 PHP
禁止js文件缓存的代码
2010/04/09 Javascript
Javascript的一种模块模式
2010/09/08 Javascript
jquery实现图片等比例缩放以及max-width在ie中不兼容解决
2013/03/21 Javascript
如何在一个页面显示多个百度地图
2013/04/07 Javascript
replace()方法查找字符使用示例
2013/10/28 Javascript
js清理Word格式示例代码
2014/02/13 Javascript
jquery使用正则表达式验证email地址的方法
2015/01/22 Javascript
AngularJs根据访问的页面动态加载Controller的解决方案
2015/02/04 Javascript
video.js使用改变ui过程
2017/03/05 Javascript
浅析Angular2子模块以及异步加载
2017/04/24 Javascript
Javascript中的async awai的用法
2017/05/17 Javascript
angularJs复选框checkbox选中进行ng-show显示隐藏的方法
2018/10/08 Javascript
深入理解Vue.js轻量高效的前端组件化方案
2018/12/10 Javascript
javascript实现点击星星小游戏
2019/12/24 Javascript
js与jquery获取input输入框中的值实例讲解
2020/02/27 jQuery
JavaScript 函数用法详解【函数定义、参数、绑定、作用域、闭包等】
2020/05/12 Javascript
vue实现图片上传到后台
2020/06/29 Javascript
vue中touch和click共存的解决方式
2020/07/28 Javascript
Python实现全局变量的两个解决方法
2014/07/03 Python
零基础写python爬虫之抓取百度贴吧代码分享
2014/11/06 Python
python编写爬虫小程序
2015/05/14 Python
浅谈python 四种数值类型(int,long,float,complex)
2016/06/08 Python
深入理解NumPy简明教程---数组1
2016/12/17 Python
用python3 urllib破解有道翻译反爬虫机制详解
2019/08/14 Python
HTML5 Canvas绘制文本及图片的基础教程
2016/03/14 HTML / CSS
海滩咖啡馆:Beach Cafe
2018/02/02 全球购物
Eagle Eyes Optics鹰眼光学:高性能太阳镜
2018/12/07 全球购物
英国No.1体育用品零售商:SportsDirect.com
2019/10/16 全球购物
亚洲颇具影响力的男性在线购物零售商:His
2019/11/24 全球购物
销售主管岗位职责
2014/02/08 职场文书
普通党员对照检查材料
2014/08/28 职场文书
父亲婚礼答谢词
2015/01/04 职场文书
DE1107机评
2022/04/05 无线电
实现GO语言对数组切片去重
2022/04/20 Golang