博客 / 詳情

返回

Macos環境下在vscode編輯器使用xdebug調試php代碼

安裝xdebug

macos環境下,默認你已經安裝了php和pecl,pecl是php下安裝php擴展的一種工具,這裏我使用的php7.3

  1. 執行以下命令安裝xdebug擴展:
    pecl install xdebug
  2. 安裝完成後執行:
    php -v
    然後你會看到類似以下返回信息:

    PHP 7.3.20 (cli) (built: Jun  4 2021 03:32:07) ( NTS )
      Copyright (c) The PHP Group
      Zend Engine v3.4.0, Copyright (c) Zend Technologies
       with Xdebug v3.0.4, Copyright (c) 2002-2021, by Derick Rethans
       with Zend OPcache v7.3.20, Copyright (c), by Zend Technologies

    看到xdebug説明安裝成功了,安裝成功路徑類似是:
    /usr/local/lib/php/pecl/20180731/xdebug.so

  3. 更新php.ini文件,路徑類似:
    /usr/local/etc/php/7.3/php.ini
    複製如下內容到文件裏我使用的是末尾,這8001端口,如果你使用其他端口,記得修改,否則可能無法監聽到變化:

    ; Make sure this is the only line which assign `zend_extension` to `xdebug.so`
    zend_extension = /usr/local/lib/php/pecl/20180731/xdebug.so
    [xdebug]
    xdebug.start_with_request=yes
    xdebug.mode=debug
    xdebug.client_host = 127.0.0.1
    xdebug.client_port = 8001
    
    xdebug.show_exception_trace = On
    xdebug.remote_handler = dbgp

VSCode設置

  1. 安裝php debug擴展
    image.png
  2. 設置php debug配置文件,這裏端口要和php.ini裏的端口一致

    {
      "version": "0.2.0",
      "configurations": [
     {
       "name": "Listen for Xdebug",
       "type": "php",
       "log": true,
       "request": "launch",
       "port": 8001,
       "pathMappings": {
         "/程序所在目錄": "${workspaceRoot}"
       },
       "ignore": [
         "**/vendor/**/*.php"
       ]
     }
      ]
    }
  3. 開始調試吧
    image.png

坑的地方

laravel中php artisan serve的端口號不要上面的兩個端口號相同,否則serve毫無反應,我一直以為這三個端口要一樣才行,結果就是調不通

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.