docker中php xdebug调试开发

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 <zhaojunlike@gmail.com>
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然后生成镜像

screenshots.png

最后会自动启动4个容器

screenshots.png

Step3 配置PHPStorm IDE

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

screenshots.png

在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

配置启动

screenshots.png

screenshots.png

screenshots.png

screenshots.png

最后apply就行了,
screenshots.png

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

这样就配置好了
screenshots.png

Chrome 安装插件监听

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

screenshots.png

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

转载于:https://www.cnblogs.com/gongxianjin/p/10845308.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值