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 相关文章推荐
Win9x/ME下Apache+PHP安装配置
Oct 09 PHP
Windows PHP5和Apache的安装与配置
Jun 08 PHP
php中选择什么接口(mysql、mysqli)访问mysql
Feb 06 PHP
PHP连接Access数据库的方法小结
Jun 20 PHP
Php中使用Select 查询语句的实例
Feb 19 PHP
ThinkPHP 3.2 版本升级了哪些内容
Mar 05 PHP
PHP浮点比较大小的方法
Feb 14 PHP
php事务回滚简单实现方法示例
Mar 28 PHP
php 调用ffmpeg获取视频信息的简单实现
Apr 03 PHP
启用OPCache提高PHP程序性能的方法
Mar 21 PHP
PHP观察者模式实例分析【对比JS观察者模式】
May 22 PHP
PHP调用接口API封装的例子
Oct 11 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
PHP4与PHP3中一个不兼容问题的解决方法
2006/10/09 PHP
10个简化PHP开发的工具
2014/12/25 PHP
在PHP站点的页面上添加Facebook评论插件的实例教程
2016/01/08 PHP
PHP中strpos、strstr和stripos、stristr函数分析
2016/06/11 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
2020/02/10 PHP
Yii中特殊行为ActionFilter的使用方法示例
2020/10/18 PHP
javascript中的array数组使用技巧
2010/01/31 Javascript
js中判断文本框是否为空的两种方法
2011/07/31 Javascript
jQuery找出网页上最高元素的方法
2015/03/20 Javascript
jQuery超精致图片轮播幻灯片特效代码分享
2015/09/10 Javascript
jQuery EasyUI 布局之动态添加tabs标签页
2015/11/18 Javascript
最简单的JavaScript图片轮播代码(两种方法)
2015/12/18 Javascript
jQuery 出现Cannot read property ‘msie’ of undefined错误的解决方法
2016/11/23 Javascript
Windows下使用Nodejs运行js的方法
2017/09/02 NodeJs
javascript中的隐式调用
2018/02/10 Javascript
Vue中Table组件Select的勾选和取消勾选事件详解
2019/03/19 Javascript
解决vue elementUI中table里数字、字母、中文混合排序问题
2020/01/07 Javascript
pycharm 使用心得(一)安装和首次使用
2014/06/05 Python
Django中实现一个高性能计数器(Counter)实例
2014/07/09 Python
python批量下载网站马拉松照片的完整步骤
2018/12/05 Python
超简单使用Python换脸实例
2019/03/27 Python
python写日志文件操作类与应用示例
2019/07/01 Python
python文件转为exe文件的方法及用法详解
2019/07/08 Python
利用Tensorflow的队列多线程读取数据方式
2020/02/05 Python
Tensorflow 卷积的梯度反向传播过程
2020/02/10 Python
Python 如何实现数据库表结构同步
2020/09/29 Python
使用OpenCV校准鱼眼镜头的方法
2020/11/26 Python
CSS3实现红包抖动效果
2020/12/23 HTML / CSS
在canvas上实现元素图片镜像翻转动画效果的方法
2018/03/20 HTML / CSS
阿迪达斯丹麦官网:adidas丹麦
2016/10/01 全球购物
自我评价怎么写好呢?
2013/12/05 职场文书
食品业务员岗位职责
2014/03/18 职场文书
学生社团文化节开幕式主持词
2014/03/28 职场文书
学生会主席演讲稿
2014/04/25 职场文书
2014年卫生保健工作总结
2014/12/08 职场文书
Python内置数据类型中的集合详解
2022/03/18 Python