前言
在 Windows 偵錯 PHP,有很多種方式,本文會以 MAMP 為例,示範如何建立偵錯環境。
適用環境
- Windows 10
- MAMP 5.0.5 (Apache 2.4.33)
- PHP 8.0.1
- Visual Studio Code 1.73.1
- Xdebug
- 開發環境
- 測試環境
安裝 MAMP
安裝 MAMP 方式並不複雜,只要去官方網站 下載安裝檔,根據指示 Next >
到底就好。
安裝 VS Code
安裝 Visual Studio Code (簡稱 VS Code) 並不複雜 ,只要去官方網站 下載安裝檔,根據指示 下一步 >
到底就好。
安裝 VS Code 外掛
開啟 VS Code,在左方工具列切到 Extensions(延伸模組),搜尋 PHP Debug
,並安裝。
如果習慣用中文介面,可以安裝另一個外掛 Chinese (Traditional) Language Pack for Visual Studio Code
安裝完畢後,可能會出現 In order to use VS Code in Chinese Traditional, VS Code needs to restart.
,這時候就點選 Restart
重新啟動 VS Code。
檢查 PHP 環境
MAMP 安裝好之後,可以用瀏覽器開啟 http://localhost/MAMP/index.php?language=English&page=phpinfo 查看 PHP 的版本資訊。
或是手動建立一個簡單的 info.php 放到 C:\MAMP\htdocs\
,並在裡面放 phpinfo (範例程式如下),即可透過 http://localhost/info.php 看到相同的資訊。
<!php
phpinfo();
這時候可以注意一些關鍵資訊:
- PHP Version 8.0.1
- Compiler Visual C++ 2019
- Architecture x64
- Thread Safety enabled
有了這些資訊,可以到Xdebug官網下載,但如果你是用 MAMP,裡面就很貼心的包含 php_xdebug.dll,放置的位置在 C:\MAMP\bin\php\php8.0.1\ext\php_xdebug.dll
如果去Xdebug官網下載,Version、Architecture、Thread Safety這些都要相符。
調整 PHP 設定檔
有了 Xdebug 的 dll 檔,就可以開始設定 php.ini,路徑在 C:\MAMP\conf\php8.0.1\php.ini
在設定檔裡面需要加入以下內容。
zend_extension="C:\MAMP\bin\php\php8.0.1\php.exe"
xdebug.mode = debug
xdebug.start_with_request = yes
重新啟動伺服器服務
修改設定檔之後,需要重啟服務才會生效。
- 在 MAMP 點選 Stop Servers
- 接著在點選 Start Servers
以 VS Code 開始偵錯
開始偵錯前,需要以 VS Code 開啟網站資料夾,要特別注意的是,只開啟單一檔案是沒辦法偵錯的,要開啟整個資料夾。 現在個別檔案,也可進入偵錯模式。
接下來在左方工具列切到 Run and Debug (執行與偵錯),並點選執行並偵錯,在程式碼用滑鼠左鍵,選擇中斷點,即可偵錯。