改方法是调试drush所执行的php代码的方法,同样适用于普通的cli方式运行的php程序的调试。

1、首先需要调整cli方式的xdebug.ini配置:

sudo vi /etc/php5/cli/conf.d/xdebug.ini

[XDebug]
zend_extension="/usr/lib/php5/modules/xdebug.so"xdebug.coverage_enable=0
xdebug.default_enable=0xdebug.remote_enable=1
xdebug.remote_connect_back=0
xdebug.remote_host=192.168.xxx.xxx
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.remote_log=/tmp/xdebug.log
xdebug.remote_autostart=falsexdebug.idekey="PHPSTORM"xdebug.max_nesting_level=256

其中的

xdebug.remote_host=192.168.xxx.xxx
需要改成你主机的IP地址

2、创建一个名为drush_debug.sh的脚本文件,其中设置cli调试需要的变量,为了方便,drush_debug.sh直接放在drupal项目的根目录下面,然后把下面的内容拷贝的drush_debug.sh,并保存。

#!/bin/bash
export XDEBUG_CONFIG="idekey=PHPSTORM" &&
export PHP_IDE_CONFIG="serverName=drupalvm.dev" &&
drush "$@"

保存完成之后,使用chmod命令修改drush_debug.sh,使它具有执行权限。

3、配置phpstorm

关于上图的说明:

1). 要保证server的name和第二步的serverName一致

2). 勾选 use path mapping,设置Absolute path on the server为Vagrant虚拟机drupal项目所在的目录。

4、运行drush命令

进入drupal所在的目录,用drush_debug.sh代替原来的drush就可以进行调试了,记得在你需要的地方设置好断点。

5、如果是普通的cli调试,把第2步的

drush "$@"改成php "$@"就可以了

因为非常简单,就不再做详细的说明。

6、关于windows下面Vagrant文件同步的说明:

Vagrantfile中的config.vm.synced_folder的本地路径可以采用相对于Vagrantfile所在文件的路径;并且,并不需要安装ntfs的插件来支持,同步的type直接写nfs即可。

转载于:https://www.cnblogs.com/merryfreespace/p/5008995.html

在主机中通过xdebug远程调试Vagrant虚拟机中drush脚本的方法相关推荐

  1. docker容器的标准使用过程_phpStorm中使用xdebug工具调试docker容器中的程序

    最近使用了docker容器来构建项目,这种方式虽然极大的加快了构建的项目速度,但是也会对之前的本地开发带来一些挑战,比如今天讲到的调试程序,大家对于xdebug一定不会陌生,但是如果php-fpm放到 ...

  2. php xdebug远程调试配置(含cli模式)

    找了很久php的xdebug扩展远程调试教程,大都已经过时,现在记录下php配置xdebug远程调试的过程. 适用php版本: php 7 ~ 8 适用安装xdebug3 版本 目录 1. 安装xde ...

  3. 轻易解决VMware 虚拟机中被提示“请不要在虚拟机中运行此程序“

    决 VMware 虚拟机 中被提示 "请不要在虚拟机中运行此程序"或者"Themida Sorry, this application cannot run under ...

  4. 虚拟机中被提示请不要在虚拟机中运行此程序 解决方法,“Themida Sorry, this application cannot run...

    虚拟机中被提示"请不要在虚拟机中运行此程序" 解决方法. 英文提示:"Themida Sorry, this application cannot run under a ...

  5. 解决 VMware 虚拟机 中被提示 “请不要在虚拟机中运行此程序”或者“Themida Sorry, this application cannot run under a Virtual Mac

    解决 VMware 虚拟机 中被提示 "请不要在虚拟机中运行此程序"或者"Themida Sorry, this application cannot run under ...

  6. NetBeans配置Xdebug 远程调试PHP

    很多PHP程序员使用echo,dump等比较原始的方法调试,这是非常落后的. 几年前本人写过一篇: NetBeans配置Xdebug 由于那篇文档还需要引用本人写的其他文档,感觉有些分散,所以这里重新 ...

  7. phpstorm+xdebug远程调试

    远端:centos7 phpstorm在windows上. centos7上同上一篇文章, [xdebug] zend_extension="xdebug.so" xdebug.r ...

  8. VSCode XDebug 远程调试虚拟机CentOS7上PHP项目

    声明 以下[参考]链接,如有侵权,请联系删除,在此先感谢在网络上无私奉献的人们~ 如有错误,请联系更正 文章目录 声明 背景 本机配置 虚拟机配置 1. 设置代码文件共享 2. 修改xdebug配置 ...

  9. php linux 调试工具,内网Visual Studio Code通过XDebug远程调试linux服务器PHP脚本

    开发环境是这样:一台位于内网环境下的Windows机器使用VSCode作为IDE编写 { "version": "0.2.0", "configura ...

最新文章

  1. web自动化测试从入门到持续集成(selenium webdriver)
  2. websockets_如何将WebSockets与AWS API Gateway和Lambda一起使用来构建实时应用程序
  3. opengl开启垂直同步_你的下一部鼠标,何必是鼠标?来试试肯辛通垂直无线轨迹球?...
  4. 组合,多态,封装, @property
  5. Linux kernel block device 的 submit_bio 都做了什么?
  6. matlab图像处理——分水岭法
  7. 对JavaFX Mobile应用程序进行性能分析
  8. Vue优化策略_项目发布_01
  9. 机器学习领域综述大列表:真的很大, 你忍一忍
  10. 【文献阅读】Densely Connected Convolutional Networks-best paper-CVPR-2017
  11. PowerDesigner 中将Comment(注释)及Name(名称)内容互相COPY的VBS代码
  12. Discuz! 的编码规范
  13. C#防SQL注入之SqlParameter参数化
  14. uni-app,H5抽奖
  15. English trip V1 - 1.How Do You Feel Now? Teacher:Lamb Key:形容词(Adjectives)
  16. 移动端webscoket连接失败---code1006
  17. 设备描述符请求失败解决
  18. 【数据分析与挖掘】基于Apriori算法的中医证型的关联规则挖掘(有数据集和代码)
  19. 跨层中介作用模型2-1-1的Mplus语法
  20. 夏日当空心深如深渊——雨桐花

热门文章

  1. php如何进修,PHP进修材料汇总华文_PHP教程
  2. 命令行mvn打包的时候报错:No compiler is provided in this environment. Perhaps you are running on a JRE
  3. 要求输入框里面必须同时含有字母,数字,特殊字符,且不小于8位
  4. 【机器学习入门到精通系列】应用机器学习的建议(方差和偏差)
  5. 搭建Ubuntu18.04+Anaconda3.x+Pycharm+SimpleITK(一)
  6. mac mysql本地连接数_如何用command line链接mysql
  7. 使用服务器测量网站性能,使用服务器时序测量网站性能
  8. dlt645 保电 合闸_DLT645-2007简单整理
  9. c语言if(!k1)x=1,C语言选择题题库2
  10. 开发日记-20190628 关键词 读书笔记《Linux 系统管理技术手册(第二版)》DAY 5