使用phpstorm对docker中的脚本进行debug的方法
在对运行在容器中的环境进行debug,可以通过网页和脚本俩种方式进行debug,
这里介绍下对容器中的脚本进行debug。
xdebug的原理了解。
xdebug是php的扩展,会搜集php执行的信息,然后发送给指令的远程ip+port。这里通常我们使用的开发工具会监听某个port。接受到php执行信息。再debug界面进行显示。
首先,容器中的php环境需要有安装好xdebug扩展并且配置好,这里对应的image名称为php_sk。
这是运行的容器,/etc/docker/daemon.josn为使用api访问docker的配置(目的是使phpstorm能访问到容器)
,这里由于是测试环境,没做访问控制。
虚拟机安装在VirtualBox里,网络为NAT模式,通过端口转发和内部进行通信
通过对端口2375的转发,浏览器可以访问到api
设置debug端口,默认9000
配置phpstorm里的docker访问参数
这时候可以看到虚拟机中的容器,可以进行启动,暂停,和访问
选择php版本,和命令行访问模式,选择docker,找到php对应的image
配置对应的目录,设置的name,在后面执行脚本会使用到
配置debug,由于是命令行执行脚本,选择php script
连接至虚拟机,执行脚本(/home/www/sk/html/index.php),ip替换成phpstorm所在主机的ip
docker run --rm -v /home/www:/home/www --env "XDEBUG_CONFIG=remote_host=10.249.22.204 remote_port=9010" --env "PHP_IDE_CONFIG=serverName=new" php_sk php /home/www/sk/html/index.php
可以看到,已经可以对脚本进行debug了
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
PHPStorm+XDebug进行调试图文教程
笔者的开发环境如下:Windows8.1+Apache+PhpStorm+XDebug+Firefox(XDebug helper 1.4.3插件). 一.XDebug安装配置 (1)下载XDebug下载地址:http://www.xdebug.org/必须下载跟机器上安装的php匹配的版本才行.具体下载方法如下:将phpinfo网页的源代码拷贝到http://www.xdebug.org/find-binary.php,然后按照指导安装即可.如下图所示: (2)安装XDebug按照上图下载"p
-
使用phpstorm和xdebug实现远程调试的方法
vs的断点调试功能很强大有木有,能查看所有变量有木有.php调试很麻烦有木有,echo,var_dump写得你想吐了有木有.想体验一下ide调试的快感吗?那就来使用xdebug吧. 1.原理:xdebug是一款php调试插件,支持远程调试,就是在php文件运行的时候,能通过tcp协议,来发送调试信息到远程端口,ide在收到调试信息的时候,可以向xdebug发送单步运行,中止运行,运行等命令.这样就实现了vs那样强大的调试功能. 2.需要的东东:一款支持xdebug远程调试的ide,这里使用php
-
Phpstorm+Xdebug断点调试PHP的方法
为什么使用断点调试 大家可能会觉得使用var_dump和echo也能调试啊,为什么还要安装Xdebug断点调试呢? 确实是这样.但是var_dump和echo写的代码后面还要删除,而且明确是知道在哪打的,如果发现没有运行到打点的地方,还要修改代码再运行一次.而断点调试,可以在调试过程中动态打断点,逐行查看当前各个变量的值,甚至临时修改变量的值,更方便.建议大家使用Xdebug断点调试. 安装Xdebug pecl install xdebug 如果是php7以下版本,需要加上版本号: pecl
-
解析phpstorm + xdebug 远程断点调试
XDEBUG配置:1.安装 xdebug 略了.网上有很多资料. 重点写php.ini的配置 [XDebug] 复制代码 代码如下: zend_extension="/usr/lib/php5/20090626+lfs/xdebug.so"xdebug.default_enable = Onxdebug.collect_params = Onxdebug.remote_connect_back = On //如果开启此,将忽略下面的 xdebug.remote_ho
-
使用PHPStorm+XDebug搭建单步调试环境
PHP是一个解释执行的语言,一般来说,进行调试的时候,只要通过使用 var_dump 或者 var_export 两个函数,就可以得到PHP中变量的值,达到调试的地步,但是对于大型项目,或者想研究一下别人的代码时,使用单步调试会变得简单的多.就拿目前最流行的 PHP Laravel 框架为例子,使用 PHPStorm 搭建单步调试环境. PHPStorm安装和基本配置 PHPStorm下载安装 PHPStorm除了体积有些大外,算是PHP IDE中非常强大便捷的开发环境.官网下载地址:https
-
图文详解phpstorm配置Xdebug进行调试PHP教程
phpstorm配置Xdebug进行调试PHP教程分享给大家,具体内容如下 运行环境: PHPSTORM版本 : 8.0.1 PHP版本 : 5.6.2 xdebug版本:php_xdebug-2.2.5-5.6-vc11-x86_64.dll ps : php版本和xdebug版本一定要相对应 1. PHP安装xdebug扩展 php.ini的配置,下面的配置仅供参考,路径要换成自己的! [xdebug] zend_extension="D:\wamp\php-5.6.2-x64\ext\ph
-
phpstorm配置Xdebug进行调试PHP教程
运行环境: PHPSTORM版本 : 8.0.1 PHP版本 : 5.6.2 xdebug版本:php_xdebug-2.2.5-5.6-vc11-x86_64.dll ps : php版本和xdebug版本一定要相对应 1. PHP安装xdebug扩展 php.ini的配置,下面的配置仅供参考,路径要换成自己的! [xdebug] zend_extension="D:\wamp\php-5.6.2-x64\ext\php_xdebug-2.2.5-5.6-vc11-x86_64.dll&quo
-
使用phpstorm对docker中的脚本进行debug的方法
在对运行在容器中的环境进行debug,可以通过网页和脚本俩种方式进行debug, 这里介绍下对容器中的脚本进行debug. xdebug的原理了解. xdebug是php的扩展,会搜集php执行的信息,然后发送给指令的远程ip+port.这里通常我们使用的开发工具会监听某个port.接受到php执行信息.再debug界面进行显示. 首先,容器中的php环境需要有安装好xdebug扩展并且配置好,这里对应的image名称为php_sk. 这是运行的容器,/etc/docker/daemon.jos
-
在docker中部署并启动redis的方法
docker部署redis 首先在linux中安装上Docker,然后启动Docker服务 Centos7中 启动Docker systemctl start docker //启动docker systemctl stop docker //停止docker systemctl restart docker //重启docker 查找想要拉取的镜像 1. 直接在Linux中使用docker search 镜像名称 搜索镜像 docker search 镜像名称 2. 在Docke
-
在Docker中跑Hadoop与镜像制作方法
重复造轮子,这里使用重新打包生成一个基于Docker的Hadoop镜像: Hadoop集群依赖的软件分别为:jdk.ssh等,所以只要这两项还有Hadoop相关打包进镜像中去即可: 配置文件准备 1.Hadoop相关配置文件:core-site.xml.hdfs-site.xml.mapred-site.xml.yarn-site.xml.slaves.hadoop-env.sh 2.ssh配置文件:ssh_config 3.Hadoop集群启动文件:start-hadoop.sh 制作镜像
-
Docker 中快速安装tensorflow环境的方法步骤
Docker 中快速安装tensorflow环境,并使用TensorFlow. 一.下载TensorFlow镜像 docker pull tensorflow/tensorflow 二. 创建TensorFlow容器 docker run --name corwien-tensortflow -it -p 8888:8888 -v /Users/kaiyiwang/Code/ai/notebooks:/notebooks/data tensorflow/tensorflow 命令说明 docke
-
为docker中的nginx配置https的方法步骤
没有 https 加持的网站会逐渐地被浏览器标记为不安全的,所以为网站添加 https 已经变得刻不容缓.对于商业网站来说,花钱购买 SSL/TLS 证书并不是什么问题.但对于个人用户来说,如果能有免费的 SSL/TLS 证书可用将会是非常幸福的事情!Let's Encrypt 就是一个提供免费 SSL/TLS 证书的网站,由于其证书期限只有三个月,所以需要我们用自动化的方式去更新证书.本文将介绍如何为通过 docker 运行的 nginx 中的站点添加 https 支持,并自动完成证书的更新.
-
在Docker中部署Confluence和jira-software的方法步骤
version: centos==7.2 jdk==1.8 confluence==6.15.4 jira-software==8.2.1 docker==18.09 安装前提示: 1. 需要准备2个数据库,因为confluence和jira-software的mysql配置要求不一样 2. confluence需要配置jdk,jira-software自带jdk 选择使用docker部署的原因: 1. confluence和jira-software环境需求不同,需要分开配置.
-
用vbs在 HTA 内对脚本进行编码的方法
问: 您好,脚本专家!如何在 HTA 内对脚本进行编码? -- LL 答: 您好,LL.您知道,刚看到这个问题时,我们就在想:"这有什么大不了的?难道不能像在 HTML 文件中那样在 HTML 应用程序 (HTA) 中对脚本进行编码吗?"令我们大为吃惊的是,好像不能在 HTA 中对脚本进行编码:每次试图这样做时,都会返回像下面这样的错误消息: Scripting encoder object ("Scripting.Encoder") failed on C:\Sc
-
使用Docker运行Microsoft SQL Server 2017的方法
最近每天都在空闲时间努力编写Apworks框架的案例代码WeText.在文本发布和处理微服务中,我打算使用微软的SQL Server for Linux来做演示,于是也就在自己的docker-compose中加入了MS SQL Server的服务.其实在Docker中运行SQL Server是非常容易的,今天大概做个介绍吧. 启动Microsoft SQL Server 2017容器 下面是我目前WeText案例中用于搭建基础结构服务的docker-compose.yml文件(该文件将来还会变动
-
docker中mysql初始化及启动失败问题解决方案
最近做项目,遇到这样问题,docker 中的mysql 不能启动,经过上网查资料,终于解决了这个问题,这里记录下,也许还能帮助到大家, 在docker中有一个mysql服务,其数据文件是挂在在主机外面的文件,在docker中的root有访问该数据文件的权限,但是docker中mysql访问数据文件的时候提示权限不足,于是只有以root用户来启动mysql了. 数据初始化: mysql_install_db --user=root --explicit_defaults_for_timestamp
-
详解ASP.NET Core 网站在Docker中运行
Docker作为新一代的虚拟化方式,未来肯定会得到广泛的应用,传统虚拟机的部署方式要保证开发环境.测试环境.UAT环境.生产环境的依赖一致性,需要大量的运维人力,使用Docker我们可以实现一次部署,到处运行. 本文介绍如何把ASP.NET Core网站部署在Docker中运行. 软件环境清单 CentOS 7.3.1611 Docker 1.12.6 .NET Core 1.1 安装Docker $ #安装Docker $ yum install docker $ #启动docker服务 $
随机推荐
- Angular的$http的ajax的请求操作(推荐)
- 如何计算下载一个文件需要多长时间?
- Node.js发送HTTP客户端请求并显示响应结果的方法示例
- Apache、Nginx 服务配置服务器端包含(SSI)
- 采用python实现简单QQ单用户机器人的方法
- input按钮的事件处理大全
- Python实现身份证号码解析
- mybatis教程之延迟加载详解
- Linux 安装JDK的教程
- MySQL中一些常用的数据表操作语句笔记
- jQuery实现渐变下拉菜单的简单方法
- Linux 管理员手册(9)
- php采集中国代理服务器网的方法
- PHP set_error_handler()函数使用详解(示例)
- 详解C语言中free()函数与getpagesize()函数的使用
- hibernate通过session实现增删改查操作实例解析
- java date类与string类实例代码分享
- vue实现简单的MVVM框架
- 小程序scroll-view安卓机隐藏横向滚动条的实现详解
- 易语言ocx控件制作条形码功能