成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

用Atom調(diào)試PHP

Elle / 2810人閱讀

摘要:于是,這次順利通過(guò)。聯(lián)合調(diào)試問(wèn)題就出在這里,無(wú)論我如何刷新頁(yè)面,里的總是啟動(dòng)不起來(lái)。如果你也使用的話(huà),這篇文章一定對(duì)你有幫助。

其實(shí)是很容易的一件事情,就因?yàn)橐粋€(gè)端口的問(wèn)題,費(fèi)了好大勁,且聽(tīng)我慢慢道來(lái)。

安裝xdebug

首先,我們要安裝xdebug。在Mac上的安裝方法相對(duì)簡(jiǎn)單:brew install php56-xdebug就好了。但是這里也遇到了一些小障礙,首先它說(shuō)我原先用brew安裝的php56不夠新,那么就brew upgrade php56好了,結(jié)果它又說(shuō)Xcode不夠新,那好,先升級(jí)XCode,結(jié)果升級(jí)完了XCode還是說(shuō)不行,在.configure的時(shí)候找不到zlib庫(kù),原來(lái)還需要在命令行執(zhí)行xcode-select --install,執(zhí)行完這個(gè)之后再執(zhí)行brew upgrade php56,順利通過(guò)。于是brew install php56-xdebug,這次順利通過(guò)。

安裝php-debug插件

接下來(lái),我們直接在A(yíng)tom里搜索插件php-debug,安裝通過(guò),執(zhí)照它的要求,在/usr/local/etc/php/5.6/conf.d/ext-xdebug.ini文件中添加以下行:

[xdebug]
zend_extension="/usr/local/opt/php56-xdebug/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_connect_back=1    # Not safe for production servers
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_autostart=false

請(qǐng)注意,這里一定要把xdebug.remote_autostart設(shè)為false,因?yàn)槿绻悴话堰@里設(shè)置為false的話(huà),下一步安裝的瀏覽器插件就不會(huì)起作用。

安裝Chrome插件

安裝Xdebug Helper。這一步也相對(duì)比較容易,缺省安裝就可以。安裝之后就是這個(gè)樣子,當(dāng)你需要debug的時(shí)候,點(diǎn)擊這個(gè)小甲蟲(chóng)把它變成綠色就可以了。我們上面一個(gè)步驟把a(bǔ)utostart設(shè)為false就是為它服務(wù)的,如果你在上一步?jīng)]有把a(bǔ)utotart設(shè)為false的話(huà),那么不論你按不按,每一個(gè)請(qǐng)求都會(huì)debug。

聯(lián)合調(diào)試

問(wèn)題就出在這里,無(wú)論我如何刷新頁(yè)面,Atom里的debug總是啟動(dòng)不起來(lái)。我一開(kāi)始強(qiáng)烈懷疑是不是這個(gè)xdebug就沒(méi)有啟動(dòng),沒(méi)有監(jiān)聽(tīng)呢?于是我執(zhí)行以下命令

sudo lsof -iTCP -sTCP:LISTEN -n -P

得到以下結(jié)果:

Atomx20H 84631   27u  IPv6 0xdc8cd80c818ef9f      0t0  TCP *:9000 (LISTEN)
php-fpm   85455    6u  IPv4 0xdc8cd80d825f02f      0t0  TCP 127.0.0.1:9000 (LISTEN)
php-fpm   85460    0u  IPv4 0xdc8cd80d825f02f      0t0  TCP 127.0.0.1:9000 (LISTEN)
php-fpm   85461    0u  IPv4 0xdc8cd80d825f02f      0t0  TCP 127.0.0.1:9000 (LISTEN)
php-fpm   85462    0u  IPv4 0xdc8cd80d825f02f      0t0  TCP 127.0.0.1:9000 (LISTEN)

我一開(kāi)始不太理解原理,我以為php-fpm監(jiān)聽(tīng)9000端口和Atom監(jiān)聽(tīng)9000端口都是由于這一句設(shè)置

xdebug.remote_port=9000

導(dǎo)致的,雖然隱隱約約感覺(jué)這里不對(duì),但是也沒(méi)有多想,還在瘋狂嘗試各種方法,甚至加上了

xdebug.remote_log=/var/log/xdebug.log

查看我刷新頁(yè)面時(shí)是否有請(qǐng)求發(fā)送給php-fpm,每次刷新頁(yè)面時(shí)確實(shí)有請(qǐng)求進(jìn)來(lái),但總是連不通,無(wú)論如何刷新頁(yè)面,Atom永遠(yuǎn)都是Listening狀態(tài):

萬(wàn)般無(wú)奈之下,回去讀文章,在最關(guān)鍵處讀到原來(lái)xdebug里的9000端口設(shè)置是為連接遠(yuǎn)端設(shè)置的,也就是說(shuō)xdebug本身不是服務(wù)器,而我們的Atom里的php-debug才是服務(wù)器!是我們的Atom在監(jiān)聽(tīng)9000端口,而位于php-fpm里面的xdebug配置9000不是讓它去監(jiān)聽(tīng)9000,而是向我們這個(gè)Atom的9000端口發(fā)請(qǐng)求!

那我們的php-fpm的9000端口監(jiān)聽(tīng)又是哪里來(lái)的呢?原來(lái)php-fpm的缺省配置/usr/local/etc/php/5.6/php-fpm.conf也是9000端口!

listen = 127.0.0.1:9000

所以是Atom和php-fpm在爭(zhēng)奪9000端口!或者說(shuō)xdebug誤導(dǎo)了Atom去使用9000端口。

了解了這個(gè),接下來(lái)就好辦了,我們把ext-xdebug.ini里的xdebug.remote_port改成9090

xdebug.remote_port=9090

再把Atom里的php-debug監(jiān)聽(tīng)端口改為9090

這時(shí)候再在Chrome里面刷新頁(yè)面,不再是Listening狀態(tài),變?yōu)镃onnected狀態(tài)了!

原先之所以沒(méi)有人提到這個(gè),是因?yàn)榇蠹彝ǔ6际侵苯佑肁pache調(diào)用php,沒(méi)有使用php-fpm,所以沒(méi)有遇到這個(gè)問(wèn)題。如果你也使用php-fpm的話(huà),這篇文章一定對(duì)你有幫助。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/22992.html

相關(guān)文章

  • atom 安裝 xdebug 調(diào)試 php 代碼

    摘要:前言是一款幫助調(diào)試代碼的擴(kuò)展主要功能有堆棧跟蹤代碼覆蓋率分析垃圾收集統(tǒng)計(jì)遠(yuǎn)程調(diào)試其中最有用的功能就屬遠(yuǎn)程調(diào)試了,下面就一步步來(lái)搭建。它檢查和變量以找出使用哪個(gè)地址。 前言 xdebug是一款幫助php調(diào)試代碼的擴(kuò)展,主要功能有 堆棧跟蹤 代碼覆蓋率分析 垃圾收集統(tǒng)計(jì) 遠(yuǎn)程調(diào)試 其中最有用的功能就屬遠(yuǎn)程調(diào)試了,下面就一步步來(lái)搭建xdebug。從sublime轉(zhuǎn)到atom后,發(fā)現(xiàn)ato...

    Lsnsh 評(píng)論0 收藏0
  • atom 安裝 xdebug 調(diào)試 php 代碼

    摘要:前言是一款幫助調(diào)試代碼的擴(kuò)展主要功能有堆棧跟蹤代碼覆蓋率分析垃圾收集統(tǒng)計(jì)遠(yuǎn)程調(diào)試其中最有用的功能就屬遠(yuǎn)程調(diào)試了,下面就一步步來(lái)搭建。它檢查和變量以找出使用哪個(gè)地址。 前言 xdebug是一款幫助php調(diào)試代碼的擴(kuò)展,主要功能有 堆棧跟蹤 代碼覆蓋率分析 垃圾收集統(tǒng)計(jì) 遠(yuǎn)程調(diào)試 其中最有用的功能就屬遠(yuǎn)程調(diào)試了,下面就一步步來(lái)搭建xdebug。從sublime轉(zhuǎn)到atom后,發(fā)現(xiàn)ato...

    Eirunye 評(píng)論0 收藏0
  • 插件分享大會(huì)[不定期更新]

    摘要:最近老是在重裝系統(tǒng),每次重裝就要重新配置環(huán)境,安裝軟件,安裝插件。因?yàn)榛局挥羞@個(gè)插件,才可以設(shè)置一個(gè)文件夾下三個(gè)項(xiàng)目能分別傳到不同的服務(wù)器中。在全球最大的同性交友網(wǎng)站中,只要鼠標(biāo)懸停到一個(gè)項(xiàng)目上時(shí),就會(huì)在一個(gè)彈窗顯示該項(xiàng)目的信息。 最近老是在重裝系統(tǒng),每次重裝就要重新配置環(huán)境,安裝軟件,安裝插件。每次重裝的時(shí)候,都不知道自己以前到底用過(guò)什么軟件插件。所以,還是寫(xiě)一篇文章記錄下來(lái),順便...

    CastlePeaK 評(píng)論0 收藏0
  • 插件分享大會(huì)[不定期更新]

    摘要:最近老是在重裝系統(tǒng),每次重裝就要重新配置環(huán)境,安裝軟件,安裝插件。因?yàn)榛局挥羞@個(gè)插件,才可以設(shè)置一個(gè)文件夾下三個(gè)項(xiàng)目能分別傳到不同的服務(wù)器中。在全球最大的同性交友網(wǎng)站中,只要鼠標(biāo)懸停到一個(gè)項(xiàng)目上時(shí),就會(huì)在一個(gè)彈窗顯示該項(xiàng)目的信息。 最近老是在重裝系統(tǒng),每次重裝就要重新配置環(huán)境,安裝軟件,安裝插件。每次重裝的時(shí)候,都不知道自己以前到底用過(guò)什么軟件插件。所以,還是寫(xiě)一篇文章記錄下來(lái),順便...

    darkbug 評(píng)論0 收藏0
  • 專(zhuān)為 Laravel 定制的 Visual Studio Code 編輯器

    摘要:此擴(kuò)展使用安裝在已打開(kāi)的工作區(qū)文件夾內(nèi)的庫(kù)。此擴(kuò)展由開(kāi)發(fā),是一個(gè)與之間的調(diào)試適配器。它具有零依賴(lài)性,并可以極大程度地工作于任何規(guī)模的項(xiàng)目里。查看先前文件的拷貝或者將其與工作區(qū)版本或先前版本進(jìn)行比較,查看編輯器里對(duì)活動(dòng)行的更改。 showImg(https://segmentfault.com/img/remote/1460000018002818?w=1223&h=630); 嗨 工匠...

    Mertens 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<