PHP远程调试之XDEBUG

作者:mrr 时间:2024-05-02 17:13:18 

开发的时候我都是使用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,xdebug,远程,调试
0
投稿

猜你喜欢

  • 对pandas通过索引提取dataframe的行方法详解

    2021-05-18 18:10:39
  • 对python中的os.getpid()和os.fork()函数详解

    2022-11-29 05:22:51
  • 纯CSS无限级下拉菜单

    2009-09-17 11:29:00
  • python中get和post有什么区别

    2022-04-17 16:45:15
  • javascript中判断一个值是否在数组中并没有直接使用

    2024-05-13 10:38:28
  • Python中return函数返回值实例用法

    2023-11-19 02:11:36
  • JS清除IE浏览器缓存的方法

    2024-04-19 10:15:25
  • 浅谈django的render函数的参数问题

    2022-07-10 18:39:20
  • Python中常用的os操作汇总

    2022-12-13 08:30:16
  • OpenCV图像缩放resize各种插值方式的比较实现

    2023-03-18 13:31:45
  • PHP对象克隆clone用法示例

    2024-05-02 17:33:51
  • 最新PyCharm从安装到PyCharm永久激活再到PyCharm官方中文汉化详细教程

    2022-09-24 01:38:47
  • Python ORM编程基础示例

    2021-12-06 14:22:17
  • js下用eval生成JSON对象

    2024-04-19 10:00:24
  • 显示同一分组中的其他元素的sql语句

    2024-01-23 09:38:24
  • python实现二级登陆菜单及安装过程

    2023-09-16 16:05:44
  • 基于Python实现音乐播放器的实现示例代码

    2023-11-26 23:58:50
  • 加固SQL参数与存储过程

    2012-03-12 19:44:08
  • PHP概率计算函数汇总

    2023-11-19 08:06:19
  • 在SQL中修改数据的基础语句

    2024-01-28 06:02:15
  • asp之家 网络编程 m.aspxhome.com