PHP的正確打開方式:從零開始配置 Ubuntu 16.04 + phpStorm + Chrome + xdebug 開發(fā)環(huán)境。

一几莽、開章廢話

(全體禱告)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工具配合。


image.png

如果出現(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ù)端口


    image.png

    經(jīng)過(guò)上面幾步Xdebug擴(kuò)展就安裝好了!

四、配置phpStorm

1族铆、配置php

依次打開:phpStorm -> settings -> Languages & Frameworks -> PHP
點(diǎn)擊下圖CLI Interpreter項(xiàng)的...按鈕

image.png

出現(xiàn)彈出框選擇你的php執(zhí)行命令安裝位置(我的是/usr/bin/php7.0)

image.png

看到上面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)系栅葡。

image.png

3茉兰、配置Debug

依次打開:phpStorm -> settings -> Languages & Frameworks -> PHP ->Debug,看到面板里的如下圖中Xdebug項(xiàng)目欄中的配置了嗎?端口9000;欣簇,沒(méi)錯(cuò)就是php.ini中的配置xdebug.remote_port规脸。

image.png

4坯约、配置DBGp Proxy插件

依次打開:phpStorm -> settings -> Languages & Frameworks -> PHP ->Debug ->DBGp Proxy
還記的phpinfo 里面的xdebug.remote_handler配置的dbgp 就是他 配置如下(按照你的項(xiàng)目配置來(lái))

image.png

5、配置調(diào)試配置項(xiàng)

這個(gè)比較隱蔽莫鸭,位置在phpStorm頂部工具欄下面的右上角闹丐,有一排小按鈕如圖:


image.png

點(diǎn)擊圖中的第一個(gè)按鈕的灰色倒三角出現(xiàn)下拉框,如下


image.png

選擇 Edit Configurations... 進(jìn)入面板如下圖:
image.png

點(diǎn)擊左上小加號(hào)出現(xiàn)下拉框如下圖


image.png

選中PHP Web Page 右側(cè)出現(xiàn)編輯面板
image.png

選擇自己剛才新建的服務(wù)器被因,選擇瀏覽器Chrome

五卿拴、配置Chrome

安裝php-Xdebug chrome 插件,因?yàn)楸娝苤脑蚴仙恚阈枰酪幌聣︻^巍棱,不過(guò)國(guó)內(nèi)也有鏡像惑畴,留個(gè)家庭作業(yè)蛋欣,自己百度一下。
下載完以后如贷,在瀏覽器擴(kuò)展安裝上Xdebug,裝完以后就能看到一只灰色的小強(qiáng)陷虎!


image.png

右鍵小強(qiáng),出現(xiàn)配置項(xiàng)杠袱,IDE key一項(xiàng)中選擇咱們的phpstorm尚猿。


image.png

再次左鍵小強(qiáng),選中Debug楣富,小強(qiáng)變身王者綠凿掂!
image.png

OK,大功告成纹蝴!

六庄萎、使用

回到phpStorm中,在你的代碼里的行號(hào)一欄中點(diǎn)擊一下塘安,這一行就會(huì)變紅糠涛!這就是一個(gè)斷點(diǎn)如下


image.png

再次點(diǎn)擊phpStorm頂部右上角那個(gè)灰色按鈕,選擇我們剛才新增的配置項(xiàng)兼犯,如下


image.png

再點(diǎn)即旁邊的紅色小電話忍捡,小電話變綠了ok,說(shuō)明已經(jīng)監(jiān)聽上了Xdebug的服務(wù)切黔,點(diǎn)擊紅色小強(qiáng)砸脊,哦也!就能看到調(diào)試中的Debug信息纬霞。
image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末脓规,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子险领,更是在濱河造成了極大的恐慌侨舆,老刑警劉巖秒紧,帶你破解...
    沈念sama閱讀 211,042評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異挨下,居然都是意外死亡熔恢,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門臭笆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)叙淌,“玉大人,你說(shuō)我怎么就攤上這事愁铺∮セ簦” “怎么了?”我有些...
    開封第一講書人閱讀 156,674評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵茵乱,是天一觀的道長(zhǎng)茂洒。 經(jīng)常有香客問(wèn)我,道長(zhǎng)瓶竭,這世上最難降的妖魔是什么督勺? 我笑而不...
    開封第一講書人閱讀 56,340評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮斤贰,結(jié)果婚禮上智哀,老公的妹妹穿的比我還像新娘。我一直安慰自己荧恍,他們只是感情好瓷叫,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著送巡,像睡著了一般摹菠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上授艰,一...
    開封第一講書人閱讀 49,749評(píng)論 1 289
  • 那天辨嗽,我揣著相機(jī)與錄音,去河邊找鬼淮腾。 笑死糟需,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的谷朝。 我是一名探鬼主播洲押,決...
    沈念sama閱讀 38,902評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼圆凰!你這毒婦竟也來(lái)了杈帐?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,662評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎挑童,沒(méi)想到半個(gè)月后累铅,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,110評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡站叼,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年娃兽,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片尽楔。...
    茶點(diǎn)故事閱讀 38,577評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡投储,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出阔馋,到底是詐尸還是另有隱情玛荞,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評(píng)論 4 328
  • 正文 年R本政府宣布呕寝,位于F島的核電站勋眯,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏壁涎。R本人自食惡果不足惜凡恍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評(píng)論 3 312
  • 文/蒙蒙 一志秃、第九天 我趴在偏房一處隱蔽的房頂上張望怔球。 院中可真熱鬧,春花似錦浮还、人聲如沸竟坛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)担汤。三九已至,卻和暖如春洼冻,著一層夾襖步出監(jiān)牢的瞬間崭歧,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工撞牢, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留率碾,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,271評(píng)論 2 360
  • 正文 我出身青樓屋彪,卻偏偏與公主長(zhǎng)得像所宰,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子畜挥,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容