http://blog.hsojo.com/2020/06/01/PHPXDebugOnMac/
版權聲明:本文爲博主原創文章,轉載請註明出處。
前言
近日接了個CURD項目,在實現docx轉pdf時出了點小問題,需要使用XDebug進行調試。
在一般情況下,只要使用包管理工具安裝“php-ext-xdebug”之類的包即可。
然而Mac下的包管理,使用Homebrew搜索“php”,卻沒有相關結果。
經過一番搜索,發現pecl可安裝“xdebug”。
配置環境變量
在使用pecl前,需要先配置環境變量。(在使用brew安裝php時有相關提示,如果已配置可忽略該步驟。)
1 2 |
echo 'export PATH="/usr/local/opt/[email protected]/bin:$PATH"' >> ~/.bash_profile echo 'export PATH="/usr/local/opt/[email protected]/sbin:$PATH"' >> ~/.bash_profile |
注意,這裏我使用的是brew提供的php7.2版本。
安裝XDebug
最新版本的XDebug源碼可以在pecl的網站中找到。(目前是2.9.6)
將文件下載下來,然後在終端執行以下命令。
1 |
pecl install xdebug-2.9.6.tgz |
這時安裝已經完成,但需要修改一下配置文件。
1 |
vi /usr/local/etc/php/7.2/php.ini |
剛打開配置文件就見到了詭異的情況,第一行是加載擴展的配置。
1 2 3 4 5 6 7 8 9 |
zend_extension="xdebug.so" [PHP] ;;;;;;;;;;;;;;;;;;; ; About php.ini ; ;;;;;;;;;;;;;;;;;;; ; PHP's initialization file, generally called php.ini, is responsible for ; configuring many of the aspects of PHP's behavior. ... |
首先將這行配置刪除,然後到文件尾部添加以下內容。
1 2 3 4 5 |
[xdebug] zend_extension="xdebug.so" xdebug.remote_enable = On xdebug.remote_port = 9000 xdebug.remote_host = "localhost" |
保存並重啓“httpd”。(如果你使用的是Apache)
1 |
brew services restart httpd |
到這裏,XDebug的安裝配置便完成了。
斷點調試(PhpStorm)
首先找到“Preferences”-“Languages & Frameworks”-“PHP”-“Servers”,添加當前開發環境所使用的服務器,保存。
然後點擊“Run”-“Edit Configurations”菜單,在新窗口點擊左上角“+”,添加“PHP Web Page”項;再在右邊選中之前添加的服務器,以及配置好所使用的瀏覽器;最後確定保存即可。
在代碼區打上斷點,然後點擊PhpStorm右上角的“Start Listening for PHP Debug Connections”(電話圖標);再點擊右上角的“Debug”圖標即可。
接口調試
如果你需要使用Postman之類的接口測試工具,流程同上,首先點擊“Debug”圖標;然後在打開的瀏覽器地址欄中可見到“?XDEBUG_SESSION_START=23333”的字樣。
這時只需要將這個“23333”複製,然後在接口測試工具中添加Header項Cookie: XDEBUG_SESSION=23333
,便可以正常調試了。