安裝xdebug
macos環境下,默認你已經安裝了php和pecl,pecl是php下安裝php擴展的一種工具,這裏我使用的php7.3
- 執行以下命令安裝xdebug擴展:
pecl install xdebug -
安裝完成後執行:
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 -
更新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設置
- 安裝php debug擴展
-
設置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" ] } ] } - 開始調試吧
坑的地方
laravel中php artisan serve的端口號不要上面的兩個端口號相同,否則serve毫無反應,我一直以為這三個端口要一樣才行,結果就是調不通