1. 程式人生 > >Laradock的xdebug在vscode上使用的配置

Laradock的xdebug在vscode上使用的配置

laradock xdebug vscode

簡介

Laradock 是為 Docker 提供的完整 PHP 本地開發環境,和 Homestead 一樣提供了一系列打包好(包括配置)的 Docker Image。Laradock 早期專註為 Laravel 打造 Docker 開發環境,因而最早在 Laravel 社區中出名,後來隨著影響力的擴大,逐漸被 PHP 社區接納和采用,目前支持的 PHP 項目除了 Laravel 之外,還有 Symfony、CodeIgniter、WordPress、Drupal 等等。

Docker 掃盲

在學習和使用 Laradock 之前,我們有必要先學習和了解 Docker,而在使用 Docker 之前,又有必要搞清楚下面兩個問題:

Docker 是什麽

Docker 基於 Go 語言開發,是一個基於 LXC 技術之上構建的 Container 容器引擎。容器是一種以固定格式打包軟件的方式,以便讓軟件可以在共享的操作系統中運行,不同於虛擬機,容器並不需要捆綁這個操作系統,只需要軟件正常工作所必須的庫和設置即可,這使得容器更加高效、輕量級、可以自成系統並且不管部署在什麽地方都可以保證運行結果一致。

Docker提供了一種在安全、可重復的環境中自動部署軟件的方式,它的出現拉開了基於雲計算平臺發布產品方式的變革序幕。開發者使用 Docker 可以解決當需要和同事共享代碼時”只能在我的機器工作”的問題;操作者使用 Docker 可以在關聯容器中邊運行邊管理以便獲取更好的計算密度;企業使用 Docker 可以用來構建敏捷的軟件分發管道以便可以更快處理新特性。

為什麽要使用 Docker

Docker 的出現就是為了解決以下問題:

  • 環境管理復雜: 從各種 OS 到各種中間件再到各種 App,一款產品能夠成功發布,作為開發者需要關心的東西太多,且難於管理,這個問題在軟件行業中普遍存在並需要直接面對。Docker 可以簡化部署多種應用實例工作,比如Web應用、後臺應用、數據庫應用、大數據應用比如 Hadoop 集群、消息隊列等等都可以打包成一個 Image 部署。

  • 雲計算時代的到來: AWS 的成功, 引導開發者將應用轉移到雲上, 解決了硬件管理的問題,然而軟件配置和管理相關的問題依然存在。Docker 的出現正好能幫助軟件開發者開闊思路,嘗試新的軟件管理方法來解決這個問題。

  • 虛擬化手段的變化: 雲時代采用標配硬件來降低成本,采用虛擬化手段來滿足用戶按需分配的資源需求以及保證可用性和隔離性。然而無論是 KVM 還是 Xen,在 Docker 看來都在浪費資源,因為用戶需要的是高效運行環境而非 OS, GuestOS 既浪費資源又難於管理, 更加輕量級的 LXC 更加靈活和快速。

  • LXC的便攜性: LXC在 Linux 2.6 的 Kernel 裏就已經存在了,但是其設計之初並非為雲計算考慮的,缺少標準化的描述手段和容器的可便攜性,決定其構建出的環境難於分發和標準化管理。Docker就在這個問題上做出了實質性的創新方法。

Docker 通常用於如下場景:

  • Web 應用的自動化打包和發布;

  • 自動化測試和持續集成、發布;

  • 在服務型環境中部署和調整數據庫或其他的後臺應用;

  • 從頭編譯或者擴展現有的 OpenShift 或 Cloud Foundry 平臺來搭建自己的 PaaS 環境。

本教程不將那麽多高大上的東西了,我們專註於通過 Docker 構建一個可移植的本地開發環境。

Docker 安裝使用

首先我們需要在系統安裝 Docker 的免費社區版,官方提供 Windows、Mac 及 Linux 等版本下載:下載地址。下載操作系統對應版本安裝後,雙擊打開 Docker 應用,即可在命令行檢查是否安裝成功:

技術分享圖片


二、配置xdebug配置項

首先xDebug在工作區和PHP-FPM容器中安裝

打開.env文件配置:

WORKSPACE_INSTALL_XDEBUG=true

PHP_FPM_INSTALL_XDEBUG=true


DOCKER_HOST_IP=your local ip address

打開laradock/workspace/xdebug.ini並laradock/php-fpm/xdebug.ini至少啟用以下配置

技術分享圖片

註意:xdebug.remote_port監聽的端口與php-fpm的端口一樣(在laradock)裏面

重建容器 docker-compose up -d --build workspace php-fpm


配置vscode:

打開launch.json配置文件:

技術分享圖片


效果:

技術分享圖片


參考文檔:
http://laradock.io/documentation/#install-xdebug
https://www.cnblogs.com/xiwang6428/p/5604102.html



此時,xdebug就算是配置成功了,有什麽錯誤的地方歡迎指出



Laradock的xdebug在vscode上使用的配置