一几莽、開章廢話
(全體禱告)PHP是世界上最好的語(yǔ)言迅办!bala bala~
是不是有很多小伙伴看到j(luò)ava,.net 程序猿朋友在IDE打斷點(diǎn)調(diào)試章蚣,感覺(jué)很COOL礼饱。其實(shí)PHP也有很多DeBug工具,工欲善其事究驴,必先利其器镊绪。So,今天讓我們來(lái)一起從0開始配置一個(gè)PHP Debug環(huán)境洒忧。
PHP優(yōu)秀的Debug工具也有很多蝴韭,像Xdebug,zend-debug等等熙侍,這些都是幫助我們?cè)诔绦蛑羞M(jìn)行斷點(diǎn)調(diào)試的利器榄鉴。網(wǎng)上也有很多類似的教程過(guò)程也很詳細(xì)履磨,但是很多設(shè)置講的并不清楚,也不完整庆尘,魚龍混雜剃诅,最重要的是,不好使驶忌!不好使矛辕!不好使!所以就將我的配置過(guò)程貼出來(lái)付魔,以幫助很多不知道的小伙伴聊品。
二、必要準(zhǔn)備
雖然說(shuō)几苍,從0開始翻屈,但~呃~,phpStorm妻坝、PHP伸眶,我們這次使用的環(huán)境如下:
- Ubuntu16.04
- Apache2.4
- php7.0
- phpStorm 2017.3.3
三、安裝Xdebug
apt install php-xdebug
編輯php.ini
vim /etc/php/7.0/apache2/php.ini
###將下面這段文字沾進(jìn)去
[XDbug]
xdebug.profiler_enable=1
xdebug.profiler_output_dir="/var/tmp" ##如果上面的配置為1,會(huì)在這里生成大量臨時(shí)文件刽宪,巨多赚抡,注意刪除
xdebug.remote_enable=1
xdebug.remote_port=9000 ##調(diào)試端口默認(rèn)就是9000
xdebug.remote_host="localhost" ##轉(zhuǎn)發(fā)使用的域名,默認(rèn)本機(jī)localhost
檢查cli擴(kuò)展是否安裝成功
php -m | grep xdebug
檢查Apache擴(kuò)展纠屋,
phpinfo()
出現(xiàn)下面這段配置說(shuō)明xdebug安裝成功涂臣,并且使用了phpStorm作為IDE工具配合。
如果出現(xiàn)下面這些配置信息說(shuō)明Xdebug生效了售担,簡(jiǎn)單介紹一下配置項(xiàng)
- xdebug.remote_enable 遠(yuǎn)程調(diào)試開啟(因?yàn)閜hpStorm要監(jiān)聽服務(wù))
- xdebug.remote_handler 遠(yuǎn)程調(diào)試控制插件為dbgp赁遗,這個(gè)要在phpStorm配置
- xdebug.remote_host 服務(wù)地址
-
xdebug.remote_port 服務(wù)端口
經(jīng)過(guò)上面幾步Xdebug擴(kuò)展就安裝好了!
四、配置phpStorm
1族铆、配置php
依次打開:phpStorm -> settings -> Languages & Frameworks -> PHP
點(diǎn)擊下圖CLI Interpreter項(xiàng)的...按鈕
出現(xiàn)彈出框選擇你的php執(zhí)行命令安裝位置(我的是/usr/bin/php7.0)
看到上面Debugger: Xdebug 2.6.0了嗎岩四?如果有這行小字,說(shuō)明你的Xdebug是可以用的哥攘。
2剖煌、配置Servers
依次打開:phpStorm -> settings -> Languages & Frameworks -> PHP -> Servers
如下圖,點(diǎn)擊左上角小加號(hào)逝淹,新增一個(gè)服務(wù)器耕姊,配置一下你主機(jī)開啟的webServer 的主機(jī)地址端口,Debugger選擇 Xdebug,選擇好你的目錄映射關(guān)系栅葡。
3茉兰、配置Debug
依次打開:phpStorm -> settings -> Languages & Frameworks -> PHP ->Debug
,看到面板里的如下圖中Xdebug項(xiàng)目欄中的配置了嗎?端口9000;欣簇,沒(méi)錯(cuò)就是php.ini中的配置xdebug.remote_port
规脸。
4坯约、配置DBGp Proxy插件
依次打開:phpStorm -> settings -> Languages & Frameworks -> PHP ->Debug ->DBGp Proxy
還記的phpinfo 里面的xdebug.remote_handler
配置的dbgp 就是他 配置如下(按照你的項(xiàng)目配置來(lái))
5、配置調(diào)試配置項(xiàng)
這個(gè)比較隱蔽莫鸭,位置在phpStorm頂部工具欄下面的右上角闹丐,有一排小按鈕如圖:
點(diǎn)擊圖中的第一個(gè)按鈕的灰色倒三角出現(xiàn)下拉框,如下
選擇 Edit Configurations... 進(jìn)入面板如下圖:
點(diǎn)擊左上小加號(hào)出現(xiàn)下拉框如下圖
選中PHP Web Page 右側(cè)出現(xiàn)編輯面板
選擇自己剛才新建的服務(wù)器被因,選擇瀏覽器Chrome
五卿拴、配置Chrome
安裝php-Xdebug chrome 插件,因?yàn)楸娝苤脑蚴仙恚阈枰酪幌聣︻^巍棱,不過(guò)國(guó)內(nèi)也有鏡像惑畴,留個(gè)家庭作業(yè)蛋欣,自己百度一下。
下載完以后如贷,在瀏覽器擴(kuò)展安裝上Xdebug,裝完以后就能看到一只灰色的小強(qiáng)陷虎!
右鍵小強(qiáng),出現(xiàn)配置項(xiàng)杠袱,IDE key一項(xiàng)中選擇咱們的phpstorm尚猿。
再次左鍵小強(qiáng),選中Debug楣富,小強(qiáng)變身王者綠凿掂!
OK,大功告成纹蝴!
六庄萎、使用
回到phpStorm中,在你的代碼里的行號(hào)一欄中點(diǎn)擊一下塘安,這一行就會(huì)變紅糠涛!這就是一個(gè)斷點(diǎn)如下
再次點(diǎn)擊phpStorm頂部右上角那個(gè)灰色按鈕,選擇我們剛才新增的配置項(xiàng)兼犯,如下
再點(diǎn)即旁邊的紅色小電話忍捡,小電話變綠了ok,說(shuō)明已經(jīng)監(jiān)聽上了Xdebug的服務(wù)切黔,點(diǎn)擊紅色小強(qiáng)砸脊,哦也!就能看到調(diào)試中的Debug信息纬霞。