1. 程式人生 > >PhpStorm連線Docker容器配置xdebug斷點除錯

PhpStorm連線Docker容器配置xdebug斷點除錯

本教程主要演示xdebug在PhpStorm中配置方法。

一、環境說明

1.Mac筆記本(本教程演示過程使用的是Mac OS作業系統,和windows環境是有區別的,這一點需要特別注意);

2.在Mac筆記本上安裝Docker,筆者安裝的Docker版本資訊如下:

B000000075547S:Downloads v_shiyanjun$ docker version
Client:
 Version:           18.06.1-ce
 API version:       1.38
 Go version:        go1.10.3
 Git commit:        e68fc7a
 Built:             Tue Aug 
21 17:21:31 2018 OS/Arch: darwin/amd64 Experimental: false Server: Engine: Version: 18.06.1-ce API version: 1.38 (minimum version 1.12) Go version: go1.10.3 Git commit: e68fc7a Built: Tue Aug 21 17:29:02 2018 OS/Arch: linux/amd64 Experimental:
true

3.Docker容器安裝Centos,版本資訊:

[[email protected] /]# uname -a
Linux 37815a453e3e 4.9.93-linuxkit-aufs #1 SMP Wed Jun 6 16:55:56 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[[email protected] /]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core) 

4.安裝lnmp環境(nmp1.5.tar.gz),lnmp一鍵安裝包下載地址:

https://
lnmp.org/install.html

5.安裝xdebug(xdebug-2.6.1.tgz),下載連結:

https://xdebug.org/files/xdebug-2.6.1.tgz

6.PhpStorm開發軟體(PhpStorm 2018.2.3),下載連結:

https://download.jetbrains.com/webide/PhpStorm-2018.2.4.dmg

7.準備一個php專案,並匯入到PhpStorm開發工具中,使用者debug程式碼除錯演示;

二、nginx的配置

[[email protected] vhost]# pwd
/usr/local/nginx/conf/vhost
[[email protected] vhost]# ls
xbs.com.conf
[[email protected] vhost]# cat xbs.com.conf 
server
    {
        listen 8888;
        server_name xbs.com n;
        index index.php;
        root  /home/work/xbs;

        include rewrite/none.conf;
        #error_page   404   /404.html;

        # Deny access to PHP files in specific directory
        #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

        include enable-php.conf;

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /.well-known {
            allow all;
        }

        location ~ /\.
        {
            deny all;
        }

        access_log  /home/work/logs/xbs.com.log;
    }
[[email protected] vhost]# 

三、xdebug在PhpStorm中的配置

1.安裝好xdebug之後,在php.ini檔案尾部新增如下內容,注意:xdebug.remote_host配置的是mac筆記本的IP地址,xdebug.idekey要和PhpStorm中配置的一致

[xdebug]
zend_extension=xdebug.so
xdebug.profiler_enable=on
xdebug.trace_output_dir="/usr/local/php/xdebug_trace"
xdebug.profiler_output_dir="/usr/local/php/xdebug_profiler"
xdebug.default_enable=0
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_host=192.168.0.104
xdebug.remote_port=9000
xdebug.remote_connect_back=0
xdebug.remote_autostart=1
xdebug.idekey=PHPSTORM
xdebug.remote_log=/usr/local/php/xdebug/remote.log

2.在PhpStorm中配置php debug,注意埠為9000,要和上面php.ini檔案中的xdebug.remote_port一致:

3.在PhpStorm中配置php server,注意host和埠要和lnmp中配置的一致,Debugger下拉框選擇Xdebug,下面的File/Directory配置的是Mac筆記本磁碟上的php專案所在目錄,而absolute path on the server配置的是Docker容器中的lnmp伺服器上的php專案目錄,這兩個目錄是可以在啟動Docker容器的時候通過-v引數進行指定的。

 

4.PhpStorm中Docker的配置,主要是目錄的對映配置,圖中Virtual machine path配置的是Docker容器中php專案目錄,而Local path配置的是Mac筆記本本地磁碟上php專案的目錄:

5.配置好Docker之後,在PhpStorm的最下方可以找到Docker工具面板,點選綠色的啟動按鈕就可以啟動Docker服務來:

Docker服務啟動之後,可以管理Docker映象和Docker容器,在指定的映象上面點選右鍵可以建立容器,如下圖所示,我基於sha256:f84360b124ec這個Docker映象建立來一個名為yaf-xbs-container-tq的Docker容器:

6.建立容器時會彈出如下對話方塊,可以配置Docker容器相關的資訊,主要是docker容器和Mac筆記本的ip地址、專案埠以及專案目錄的對映方面的配置:

上圖中的192.168.0.104:8888是我Mac筆記本的IP地址和專案埠,意思是,當我在筆記本上使用瀏覽器訪問192.168.0.104:8888的時候,會訪問到Docker容器8888埠。

7.點選上圖右下角的run按鈕,就可以啟動Docker容器了,在右邊的PortBindings選項卡可以編輯和新增宿主機和Docker容器之間的埠對映關係:

在VolumeBingdings選項卡可以編輯宿主機和Docker容器之間專案目錄對映關係:

8.新增容器執行命令

啟動Docker容器之後,在容器上點選右鍵選擇exec,然後選擇create即可建立容器執行命令,比如這裡我添加了一個條重啟lnmp的命令"lnmp restart":

點選OK,再次在容器上點選右鍵就能看到剛新增的Docker容器執行命令"lnmp restart",點選該命令就可以在容器中重啟lnmp了。

9.啟動debug監聽

最後一步,一定要點選PhpStorm右上角對小電話圖示來啟動PhpStorm對Xdebug對監聽,否則debug不生效:

10.在php專案程式碼中打斷點,瀏覽器訪問http://192.168.0.104:8888,即可觸發PhpStorm對xdebug除錯功能,自動進入debug模式。這裡用到到php專案是yaf框架到最簡單到demo。

11.瀏覽器響應結果(這裡返回到是一個json格式的資料)

相關推薦

PhpStorm連線Docker容器配置xdebug斷點除錯

本教程主要演示xdebug在PhpStorm中配置方法。 一、環境說明 1.Mac筆記本(本教程演示過程使用的是Mac OS作業系統,和windows環境是有區別的,這一點需要特別注意); 2.在Mac筆記本上安裝Docker,筆者安裝的Docker版本資訊如下: B000000075547S:Downlo

PhpStorm連接Docker容器配置xdebug斷點調試

smp 右鍵 第一次 clu 兩個 local mac ecif 最簡 本教程主要演示xdebug在PhpStorm中配置方法。 一、環境說明 1.Mac筆記本(本教程演示過程使用的是Mac OS操作系統,和windows環境是有區別的,這一點需要特別註意); 2.在Mac

Phpstorm 配置 Xdebug 斷點除錯教程

有時候想分析一個開源專案的程式碼,或者接手了別人的程式碼,想了解專案程式碼架構,如果能夠在 IDE 中跟蹤程式執行軌跡也許可以讓你事半功倍。 PhpStorm 提供了強大的除錯功能,這篇教程會教大家如何安裝配置 xdebug,最終實現能夠在瀏覽器實際執行程式時在斷

phpstorm 配置 xdebug斷點除錯

前言     php是指令碼型程式 每次出錯都要手動exit斷點程式不是很方便   哪裡有需求哪裡就有生產,Xdebug可以實現對php的斷點除錯。下面將我個人的安裝經歷分享給大家。   執行環境 windows 、lamp、phpstorm 、chrome (配置

PhpStorm配置Xdebug斷點除錯

1.獲取到phpinfo資訊 Ctrl+A選擇所有文字,Ctrl+C複製 2. Xdebug 官網下載合適的 dll 檔案 開啟視窗:http://xdebug.org/wizard.php ,把步驟一複製的文字新增到輸入框,如圖: 之後

phpStorm+XDebug斷點除錯配置

XAMPP環境下用phpStorm+XDebug進行斷點除錯的配置 phpStorm+XDebug的斷點除錯設定。下面情況針對本機進行除錯,遠端除錯差距不大。 具體過程: 1.   伺服器端(本地除錯

本地環境phpStorm+XDebug配置斷點除錯

安裝環境:XAMPP;phpStorm; windows 7 64bit。XAMPP、phpStorm 都直接安裝在了D盤根目錄,9999m目錄建在D:\xampp\htocts下,即目錄工程資料夾路徑

Phpstorm 2017.1+PHPWAMP+Xdebug環境配置以及斷點除錯

首先先來說下IDE和服務環境的配置: 第一步,在PHPWAMP的站點根目錄下建立專案資料夾,然後把IDE專案檔案指向該檔案,如下圖所示: 第二步,建立檔案,然後通過伺服器進行顯示,這裡我寫了兩個檔案,分別是form.html,welcome.php: form.html:

如何愉快的在PhpStorm中進行Xdebug斷點除錯

前言 如果你厭煩了 print_r 、 log 、 var_dump 這類一次除錯一行的方式 如果你的業務複雜到一層又套一層,打 log 都救不了你的思路 如果你瞭解斷點除錯,但是還沒有在 PhpStorm 中配置過 如果你想在 前端 頁面 按選單或按鈕 呼叫 A

phpstorm配置xdebug進行除錯

1、phpstorm配置 1)、開啟phpstorm,點選File → settings 2)、接著點選Languages & Frameworks → PHP,然後點選右邊的CLI Interpreter三個小點…選擇安裝過的php.exe檔案 3)、

PhpStorm中進行Xdebug斷點除錯

前言 如果你厭煩了 print_r 、 log 、 var_dump 這類一次除錯一行的方式 如果你的業務複雜到一層又套一層,打 log 都救不了你的思路 如果你瞭解斷點除錯,但是還沒有在 PhpStorm 中配置過 如果你想在 前端 頁面 按選單或按鈕 呼叫 API

phpstorm+Xdebug斷點除錯PHP

前言:        何為DEBUG?        相信很多程式設計師都知道debug這個單詞,也明白它的意思,但是對於這詞的由來,恐怕少有人知道。關於debug的由來,要追溯到1937年。1937年,美國青年霍德華.艾肯找到IBM公司為其投資200萬美元研製計算機,第一

PHPSTORM Xdebug斷點除錯 監聽無法使用的問題

新單位的電腦PHPSTORM 斷點可以除錯 但是必須是點小蜘蛛圖示 而且是目標瀏覽器 別的瀏覽器都進不去 監聽沒有作用 原來是php.ini裡面少了一句話 xdebug.remote_autost

如何愉快的在PhpStorm中進行PHPUnit單元測試和Xdebug斷點除錯

前言 如果你想做個介面測試,但並不想公開內部介面 如果你只是想對自己封裝的某塊程式碼做個小測試 如果你想要編寫程式碼邊除錯,又不想操作 Postman 或前端的功能來呼叫 API 本文暫時僅介紹在

Zend Studio中如何配置和使用xdebug斷點除錯工具?

斷點除錯,也叫單步除錯,是指程式開發中,為了找到程式的bug,通常採用的一種除錯手段,一步一步自動跟蹤程式執行的流程,根據變數的值,找到錯誤的原因。 很多整合的開發工具(IDE),如Zend Studio、PhpStorm等,都支援斷點除錯,在需要除錯的程式碼行設定斷點

通過java web代理將docker容器配置為jenkins節點

1、安裝centos映象 docker search centos                  //查詢映象 docker pull centos      &nbs

PHP Tools for Visual Studio 配置xdebug遠端除錯

我的開發環境是win10 執行環境在vagrant-homestead中 先在vagrant-homestead安裝xdebug並配置,可以參考之前的文章vagrant-homestead安裝xdebug  右鍵專案點選屬性,然後按圖配置 其中http://mytest.x

Docker 容器配置之Tomcat8

docker pull tomcat #default tomcat-version:8.5.31   mkdir -p /usr/local/docker/tomcat8/conf #tomcat 配置目錄   mkdir -p /usr/local/docker/tomca

SQLyog(navica)連線docker容器中的mysql8.0.12 報錯1251或2003解決辦法

使用SQLyog(navicat)遠端連線docker容器中的mysql8.0.12  報以下錯誤↓↓↓ 解決辦法: 一、在docker中啟動mysql,定義埠號3306 [[email protected] ~]# docker run -p 3

Docker學習之SSH連線docker容器

前言 不論是開發者是運維人員,都經常有需要進入容器的訴求,目前看,主要的方法不外乎以下幾種: 使用ssh登陸進容器,需要在容器中安裝啟動sshd,存在開銷和攻擊面增大的問題,同時也違反了Docker所倡導 的一個容器一個程序的原則。容器本身是一個無狀態,用後即焚的東西。為