资讯专栏INFORMATION COLUMN

docker中php xdebug调试开发

kyanag / 1047人阅读

摘要:这样就配置好了安装插件监听地址开启小电话以后,如果访问会自动进入断点中的模式,这样我们的开发环境的断点调试就已经配置好了。

docker-compose环境来自:https://github.com/zhaojunlik...
原文:http://blog.oeynet.com/post/9...

说明

在开发中,断点调试是我们最快能找出Bug代码问题的所在,那么在docker中如何使用xdebug进行php项目的跟踪调试呢?

Step1 制作一个包含Xdebug扩展的容器

dockerfile如下

FROM php:5.6-fpm
MAINTAINER Godtoy 
RUN sed -i "s/deb.debian.org/mirrors.ustc.edu.cn/g" /etc/apt/sources.list 
    && apt-get update && apt-get install -y 
        libfreetype6-dev 
        libjpeg62-turbo-dev 
        libmcrypt-dev 
        libpng12-dev 
    && docker-php-ext-install -j$(nproc) iconv mcrypt pdo_mysql mysql mbstring opcache bcmath 
    && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ --enable-bcmath 
    && docker-php-ext-install -j$(nproc) gd 
    && pecl install redis-3.1.0 
    && pecl install xdebug-2.5.0 
    && docker-php-ext-enable redis xdebug 

构建的话,我们这里直接使用docker-compose.yml中进行构建

version: "3.0"
services:
  php-fpm:
    build: ./dockerfiles/php/
    #image: zhaojunlike/php-fpm:5.6-latest
    restart: always
    environment:
      TP_APP_DEBUG: 1
      APP_DEBUG: 1
    volumes:
#网站目录
      - ./app:/app:rw
#配置文件
      - ./dockerfiles/php/php-dev.ini:/usr/local/etc/php/php.ini:ro
      - ./dockerfiles/php/php-fpm.conf:/usr/local/etc/php-fpm.conf:ro
      - /etc/localtime:/etc/localtime:ro
#挂载站点日志
      - ./logs/php-fpm:/var/log/php-fpm:rw

php.ini文件配置信息

[PHP]
short_open_tag = On
display_errors = On
error_reporting = E_ALL
post_max_size = 120M
upload_max_filesize = 100M

[Date]
date.timezone = Asia/Shanghai

[XDebug]
xdebug.idekey = "PHPSTORM"
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_mode = "req"
xdebug.remote_connect_back = on
xdebug.remote_autostart = off
xdebug.remote_host = "192.168.197.1"
xdebug.remote_port = 9000
xdebug.remote_log = /var/log/php-fpm/x-debug-remote.log

remote_host是开发IDE工具的ip地址

php.ini我推荐创建2个版本,一个版本用于本地开发调试的环境配置文件,还有一个线上生产的文件,可以开启opache等扩展对平台进行加速

Step2 启动Lnmp环境

在docker-lnmp中,我们已经编排好了一个基本的nginx+php-fpm +mysql的环境实例,我们只需要克隆到根目录使用

docker-compose up -d

便会自动的去执行build然后生成镜像

最后会自动启动4个容器

Step3 配置PHPStorm IDE

配置路径:File | Settings | Languages & Frameworks | PHP | Debug | DBGp Proxy

在host文件中我将dev.me 已经host到了docker宿主机IP地址里面
所以www.dev.me也可以是docker宿主机的ip地址

192.168.197.128    admin.dev.me api.dev.me dev.me www.dev.me m.dev.me old.dev.me new.dev.me

配置启动

最后apply就行了,

启动的时候,请开启那个小电话,还有打好断点就行了。

这样就配置好了

Chrome 安装插件监听

地址
https://chrome.google.com/web...

开启小电话以后,如果访问www.dev.me会自动进入断点中的debug模式,这样我们的docker开发环境的断点调试就已经配置好了。 enjoy

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/27020.html

相关文章

  • dockerphp xdebug调试开发

    摘要:这样就配置好了安装插件监听地址开启小电话以后,如果访问会自动进入断点中的模式,这样我们的开发环境的断点调试就已经配置好了。 docker-compose环境来自:https://github.com/zhaojunlik...原文:http://blog.oeynet.com/post/9... 说明 在开发中,断点调试是我们最快能找出Bug代码问题的所在,那么在docker中如何使用...

    import. 评论0 收藏0
  • 推荐代码调试工具 Xdebug

    摘要:写代码总绕不过需要调试,除了外,我们还是需要借助进行调试。这里的使用,是分别整合到和下。安装还是基于神级武器。至于下一步如何更好的使用,就看各自的实际项目和开发需要了。 写代码总绕不过需要调试,除了 UnitTest 外,我们还是需要借助 Xdebug 进行调试。 所以今天来说说如何基于本地 Docker 环境下,使用 Xdebug。 这里的使用,是分别整合到 VS Code 和 PH...

    MartinHan 评论0 收藏0
  • Docker使用Xdebug

    摘要:说明开发和调试环境为本地中的,环境为本地下的。再次在容器中抓取端口数据包连接的源地址已经正确再次使用的断点调试时,控制台如下所以,使用进行远程调试时,需要选择合适的调试模式,在下建议使用远程模式。 首发于 樊浩柏科学院 我们经常会使用 PhpStorm 结合 Xdebug 进行代码断点调试,这样能追踪程序执行流程,方便调试代码和发现潜在问题。博主将开发环境迁入 Docker 后,Xd...

    pakolagij 评论0 收藏0
  • Docker使用Xdebug

    摘要:说明开发和调试环境为本地中的,环境为本地下的。再次在容器中抓取端口数据包连接的源地址已经正确再次使用的断点调试时,控制台如下所以,使用进行远程调试时,需要选择合适的调试模式,在下建议使用远程模式。 首发于 樊浩柏科学院 我们经常会使用 PhpStorm 结合 Xdebug 进行代码断点调试,这样能追踪程序执行流程,方便调试代码和发现潜在问题。博主将开发环境迁入 Docker 后,Xd...

    jerry 评论0 收藏0
  • PhpStorm连接docker容器内的php XDebug进行断点调试

    摘要:连接容器内的进行断点调试进行断点调试尽管不像其他语言那样方便,但是有些是有确实有其用处,比如调试循环内的数据异常时。 PhpStorm连接容器内的XDebug进行断点调试 php进行断点调试尽管不像其他语言那样方便,但是有些是有确实有其用处,比如调试循环内的数据异常时。在php于phpstorm都安装在同一环境下时,配置phpstorm的xdebug调试并不是多困难的事情,但是如果你使...

    XGBCCC 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<