docker中php xdebug調試開發

docker-compose環境來自:https://github.com/zhaojunlik...
原文:http://blog.oeynet.com/post/9...php

說明

在開發中,斷點調試是咱們最快能找出Bug代碼問題的所在,那麼在docker中如何使用xdebug進行php項目的跟蹤調試呢?html

Step1 製做一個包含Xdebug擴展的容器

dockerfile以下mysql

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中進行構建nginx

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文件配置信息git

[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地址github

php.ini我推薦建立2個版本,一個版本用於本地開發調試的環境配置文件,還有一個線上生產的文件,能夠開啓opache等擴展對平臺進行加速web

Step2 啓動Lnmp環境

在docker-lnmp中,咱們已經編排好了一個基本的nginx+php-fpm +mysql的環境實例,咱們只須要克隆到根目錄使用redis

docker-compose up -d

便會自動的去執行build而後生成鏡像sql

screenshots.png

最後會自動啓動4個容器chrome

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

相關文章
相關標籤/搜索