1、安裝sdebug插件
- 說明: swoole的官方編程須知中已經(jīng)說到了,swoole與常規(guī)版本的 xdebug 不兼容,主要是由于大量全局變量的使用違背了協(xié)程的規(guī)范,可以見此網(wǎng)址的說明:https://wiki.swoole.com/wiki/page/851.html
- 另外如果想斷點(diǎn)調(diào)試基于swoole的項(xiàng)目,專門衍生出了一個(gè) sdebug,供調(diào)試swoole項(xiàng)目。安裝流程參見:https://github.com/mabu233/sdebug
1.1、克隆
- 將對(duì)應(yīng)的 sdebug 文件克隆下來(任意位置都行,臨時(shí)文件用于引入php中)
git clone https://github.com/swoole/sdebug.git
- 進(jìn)入sdebug文件中
cd sdebug
1.2、編譯
- 運(yùn)行phpize (或者 如果phpize不在您的路徑中的情況下:/path/to/phpize )
phpize
- ./configure --enable-xdebug (如果php-config不在您的路徑中需要找到對(duì)應(yīng)的路徑 )
./configure --enable-xdebug --with-php-config=/www/server/php/72/php-config
- make 命令運(yùn)行
make clean && make && make install
2、配置
2.1、配置 php.ini
- 進(jìn)入到php.ini的目錄
cd www/server/php/72/etc
- 打開php.ini
vi php.ini
- 將下列的配置寫入文件最下面幾行(按住鍵盤的PgDn即可快速向下翻頁)
;開啟xdebug支持遠(yuǎn)程調(diào)試
xdebug.remote_enable=1
;遠(yuǎn)程調(diào)試的主機(jī),一般都是docker宿主機(jī)器,本地調(diào)試就是本機(jī),ip可以通過`docker inspect 容器名獲得`
xdebug.remote_host=127.0.0.1
;遠(yuǎn)程調(diào)試機(jī)器的端口,一般是9000,和后面講到的phpStorm里面保持一致
xdebug.remote_port=9000
;idekey 對(duì)接調(diào)試的密鑰,和后面phpStorm里面的務(wù)必保持一致
xdebug.idekey=PHPSTORM
;自動(dòng)觸發(fā)調(diào)試,可以將這個(gè)值設(shè)為1;
xdebug.remote_autostart=1
;更多參數(shù)介紹請(qǐng)參見這里 https://xdebug.org/docs/all_settings
xdebug.remote_connect_back=1
xdebug.remote_handler=dbgp
xdebug.max_nesting_level=250
2.2、配置PHPSTORM
- 配置 DBGp 的反向代理
- 配置 Servers
- 需要改為Xdebug模式
- 端口需要和你跑swoole主端口一致
- 絕對(duì)路徑需要配置,不然調(diào)試時(shí)候會(huì)報(bào)錯(cuò),我這里寫的是項(xiàng)目在子系統(tǒng)中的路徑

3、調(diào)試
3.1、選擇調(diào)試的服務(wù)并打開監(jiān)聽

3.2、調(diào)試時(shí)候的順序
- 第一步:點(diǎn)擊打開Debug 'debug'(也就是那個(gè)昆蟲)或者快捷鍵 Shift+F9
- 第二步:開啟 swoole 服務(wù),如果當(dāng)前打開過則關(guān)掉之后開啟
- 第三步:在對(duì)應(yīng)的地方打上斷點(diǎn)
- 第四步:請(qǐng)求對(duì)應(yīng)打斷點(diǎn)的接口/URL 即可調(diào)試
3.3、運(yùn)行查看是否成功
-
如下圖顯示則是成功了:
如果有什么問題可以留言,歡迎互相交流共進(jìn)步。

