摘要:于是,這次順利通過(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
摘要:前言是一款幫助調(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...
摘要:前言是一款幫助調(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...
摘要:最近老是在重裝系統(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),順便...
摘要:最近老是在重裝系統(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),順便...
摘要:此擴(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); 嗨 工匠...
閱讀 1307·2021-10-08 10:04
閱讀 1940·2021-09-04 16:40
閱讀 2550·2019-08-30 13:21
閱讀 2292·2019-08-29 15:10
閱讀 2862·2019-08-29 12:35
閱讀 1201·2019-08-26 17:41
閱讀 3072·2019-08-26 17:03
閱讀 1154·2019-08-26 12:01