虚拟机CentOS7+PHP+Xdebug远程调试

开发环境介绍

宿主机编辑器:PhpStorm 2019.1.3
宿主机:Windows (IP 192.168.55.1)
宿主机hosts文件:192.168.55.171 sy7.net

虚拟机:VirtualBox + CentOS7 (IP 192.168.55.171)
虚拟机中PHP安装路径:/application/php
虚拟机项目根目录:/wwwroot/sy7.net
虚拟机中Nginx服务器配置:

......
server_name  sy7.net   www.sy7.net;
root		/wwwroot/sy7.net;
......

PHP的扩展Xdebug已经安装。

Xdebug下载:https://xdebug.org/files/xdebug-2.7.2.tgz
浏览器访问:

http://sy7.net/phpinfo.php

在这里插入图片描述

在这里插入图片描述

修改php.ini配置文件

vim /application/php/lib/php.ini
zend_extension=xdebug
;开启远程调试
xdebug.auto_trace=On
xdebug.remote_enable = 1
;客户机ip
xdebug.remote_host="192.168.55.171"
;客户机xdebug监听端口和调试协议
xdebug.remote_port=9001
xdebug.remote_handler=dbgp
;idekey 区分大小写
xdebug.idekey="PHPSTORM"
xdebug.remote_connect_back = 1
;xdebug.profiler_enable = off
;xdebug.profiler_enable_trigger = off
;xdebug.profiler_output_name = cachegrind.out.%t.%p
;idekey 区分大小写
xdebug.profiler_output_dir = "/tmp/xdebug.log"

保存php.ini文件后,重启php-fpm进程。
此处是

kill -USR2 `cat /application/php/var/run/php-fpm.pid`

项目说明

使用VirtualBox增强工具,虚拟机挂载 宿主机共享出的 文件夹。

mount -t vboxsf wwwroot /wwwroot

宿主机中的项目 D:/wwwroot/sy7.net
虚拟机中的项目 /wwwroot/sy7.net

PHPStorm配置

File->Settings->Languages & Frameworks->PHP窗口,如图。
在这里插入图片描述
PHP language levek 选择与虚拟机中对应的PHP版本,此处选择 7.3。
CLI Interpreter 选择最右边的…进行配置。如下图,选择弹窗左上角的+号,并选择第一项。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
上图填写后,选择OK,回到如下图的界面。选择虚拟机中的PHP路径。
在这里插入图片描述

有如下图的弹窗,填入 Name。选择Additional下的Debugger extension最有侧的文件夹,选择xdebug.so文件在远程虚拟机中的路径。
在这里插入图片描述
看上图,Web Deployment->Deployment configuration 选择最右侧 进行配置。配置 ConnectionMappings

  Connection
在这里插入图片描述
  Mappings
在这里插入图片描述
然后回到 CLI Interpreters 窗口。配置 General->PHP executableAdditional->Debugger extension。只需要点击右侧的 文件夹 图标,选中虚拟机中对应的文件即可。
在这里插入图片描述
File->Settings->Languages & Frameworks->PHP->Debug 窗口,如图。主要看红框中的部分。
在这里插入图片描述

  • 选中Pre-configuration 序号1 Validate,得到如下对话框。

在这里插入图片描述

  • 选择上述的Depolyment server。点击Validate按钮。得到如下图。

在这里插入图片描述

  • 下图无用。

在这里插入图片描述
File->Settings->Languages & Frameworks->PHP->Debug->DBGp Proxy窗口,如图。填入以下内容。
在这里插入图片描述
File->Settings->Languages & Frameworks->PHP->Servers窗口,如图。填入以下内容。
在这里插入图片描述

工具栏
Run->Edit Contigurations,得到如下弹窗,先点击左上角的+号,选择PHP Web Page,然后填入以下右侧的内容。注意Start URL先写网站入口文件。
在这里插入图片描述
重启PHPStorm。

项目文件
phpinfo.php

windows——D:\wwwroot\sy7.net\index.php
<br>
Linux————/wwwroot/sy7.net/index.php
<br>

<?php

$age  = 0;
$sum  = 0;
$name = 'zhangsan';

for ($i = 1; $i <= 100; $i++) {
    $sum = $sum + $i;
}

echo $sum;

echo '<br>';
phpinfo();
?>

在PHPStorm中的截图,如下。选择右上角的sy7.net.xdebug
在这里插入图片描述
设置断点。
点击代码窗口右上角的调试按钮。
在这里插入图片描述
此时,浏览器打开新标签页,访问http://sy7.net/phpinfo.php?XDEBUG_SESSION_START=12536
我们打开PHPStorm编辑器,得到如下图所示。
在这里插入图片描述
然后就可在Debugger窗口中进行调试,查看变量值得变化。如下图,即将运行第12行的代码。
在这里插入图片描述
在编辑器PHPStorm的Debugger窗口,调试结束后。看看浏览器的页面。其实这句话和下图,是废话。
在这里插入图片描述

PhpStudy+Xdebug调试超时500解决方法,请参考
https://www.javaidea.cn/topic/1274.html

END

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值