天天看點

Windows、Mac 下使用 PHPStorm 配置 Xdebug,實作端點調試MacLinuxWindowsWindows

前言:

此篇筆記是來自同僚小愛同學的整理,原文在github上(點選閱讀原文,看着會舒服許多),為了通路友善(不科學上網很難加載出圖檔),經同意後複制到自己部落格,在此也特别感謝他的幫助配置。

第一次配置還可以參考這篇文章,手把手教學,二者結合能極大提高配置成功率。

phpstuyd+phpstorm實作單步調試:https://www.kancloud.cn/tstayang/image/909004
           

正文:

搭建過很多次開發環境了,但每次在調試這一塊還是會多少耗費一點時間。 是以便有了這篇關于PHPSTORM調試的筆記。

在進行調試之前,首先要做的是下載下傳并安裝Xdebug,然後再做相應的配置。如果使用內建環境,那麼可以跳過這一步,通常都自帶了Xdebug。

下載下傳Xdebug(Windows)

xdebug官網

如何選擇符合自己PHP的版本的Xdebug,可以通過下面這種方法來判斷。

使用Xdubug官方提供的一個檢測工具

在指令行中輸入:

Mac

$ php -i | pbcopy

Linux

$ php -i | xsel

Windows

$ php -i | clip

Windows、Mac 下使用 PHPStorm 配置 Xdebug,實作端點調試MacLinuxWindowsWindows

将輸出的phpinfo資訊填入,然後就會自動檢測該版本的PHP 所對應的Xdebug,如下圖(這裡以Windows 為例):

Windows、Mac 下使用 PHPStorm 配置 Xdebug,實作端點調試MacLinuxWindowsWindows

點選下載下傳相應的檔案。

安裝并配置Xdebug

将下載下傳好的檔案放進指定目錄 …\php\ext

配置php.ini檔案,這裡需要注意的是:要找到正确的php.ini檔案。如果你不确定是哪一個,可以參考下面這個方法:

列印出phpinfo(),找到字段Loaded Configuration File根據後面的路徑去找就沒錯了。

打開找到的php.ini配置檔案,在最後面加上以下代碼:

Windows

[XDebug]

zend_extension = “C:\xampp\php\ext\php_xdebug-2.6.1-7.2-vc15.dll” #這個位址指向 xdebug所在的檔案路徑

xdebug.profiler_enable = 1

xdebug.remote_enable = 1

xdebug.remote_port=9001

xdebug.idekey=PHPSTROM

xdebug.remote_host = localhost

其中:

xdebug.remote.host如果是本地調試,填localhost就好。

xdebug.remote_port為調試所監聽的端口,通常預設使用 9001 ,需要和PHPStorm 中的 Debug port 相同。

下載下傳并安裝Xdebug(Mac)

Mac 下安裝Xdebug,有兩種方式:

使用pecl指令

通過源碼編譯

使用 pecl

Pecl 是 PHP 的包管理器。

這裡以PHP5.6為例,需要安裝最新2.5.x版本的Xdebug,因為這是PHP5.6提供支援的最後一個版本。

$ pecl install xdebug-2.5.5

源碼編譯

源碼擷取的方式和上面Windows 的方式是一樣的,将輸出的phpinfo粘貼至輸入框,然後下載下傳對應版本的Xdebug。

$ tar -xvzf xdebug-2.9.4.tgz

$ cd xdebug-2.9.4.tgz

$ phpize

$ ./configure

$ make

$ cp modules/xdebug.so /usr/lib/php/extensions/xdebug

啟用Xdebug

無論是通過哪種方式安裝,在正式使用之前,都需要手動啟用該子產品。

找到對應版本的 php.ini 檔案并編輯,在配置檔案中的最後部分加上以下内容:

[XDebug]

zend_extension="/usr/local/lib/php/extensions/xdebug/xdebug.so"

xdebug.profiler_enable = 1

xdebug.remote_enable = 1

xdebug.remote_port=9001

xdebug.idekey=PHPSTORM

xdebug.remote_host = localhost

重新開機PHP即可。

如何檢查Xdebug 是否啟用?

$ php -m | grep xdebug

xdebug

在PHPStorm中配置Xdebug

Mac

File->Setting->PHP->Debug,確定PHPStorm 已經找到了Xdebug。

在剛才的配置沒錯的前提下,這裡是可以看到已經成功安裝了Xdebug的。

Windows、Mac 下使用 PHPStorm 配置 Xdebug,實作端點調試MacLinuxWindowsWindows

如果顯示沒有安裝,請檢查上面兩步操作有無問題。

File->Setting->PHP->Debug

Windows、Mac 下使用 PHPStorm 配置 Xdebug,實作端點調試MacLinuxWindowsWindows

Debug port 與php.ini配置檔案中的xdebug.remote_port的對應參數保持一緻。

File->Setting->PHP->Server,這三個參數的值和php.ini中的保持一緻。

Windows、Mac 下使用 PHPStorm 配置 Xdebug,實作端點調試MacLinuxWindowsWindows

配置域名

Windows、Mac 下使用 PHPStorm 配置 Xdebug,實作端點調試MacLinuxWindowsWindows

這裡根據實際情況配置,我本地使用80 端口作為項目通路端口,是以這裡填的是80。

配置調試參數

Windows、Mac 下使用 PHPStorm 配置 Xdebug,實作端點調試MacLinuxWindowsWindows

Run->Web Server Debug Validation,檢查是否配置成功。

Windows、Mac 下使用 PHPStorm 配置 Xdebug,實作端點調試MacLinuxWindowsWindows

確定項目檔案路徑和本地域名能正常通路,如果一切正常則能看到輸出。

Windows

Windows 下的PHPStorm 配置和Mac 幾乎差不多,保證一下幾點是正常的基本上沒啥問題。

確定PHPStorm 啟用了對應版本的 Xdebug。

PHPStorm 的調試資訊與php.ini檔案中保持一緻。

項目檔案路徑和本地域名能正常通路。

Xdebug 調試端口并非一定要用9001,隻要保持php.ini與PHPStorm 的保持一緻就好了。

在PHPStorm中使用Xdebug

有兩種方式使用Xdebug:

直接在編輯器中開始調試。

通過在請求位址中附加xdebug 的請求參數來調試,這招通常用來處理一些前後端分離的關聯調試。

參考連結

PhpStrom Xdebug 配置與使用

如何在Mac 上為不同版本的PHP 開啟Xdebug

配置Xdebug-官方教程

Xdebug 官網

Xdebug 檢測工具

補充:

如果啟用了在php.ini中啟用了xdebug.remote_autostart,請使用、

xdebug.remote_autostart = 0 
           

當這個等于1時會影響到phpmyadmin的運作