摘要:于是,這次順利通過。聯(lián)合調(diào)試問題就出在這里,無論我如何刷新頁面,里的總是啟動不起來。如果你也使用的話,這篇文章一定對你有幫助。
其實是很容易的一件事情,就因為一個端口的問題,費了好大勁,且聽我慢慢道來。
安裝xdebug首先,我們要安裝xdebug。在Mac上的安裝方法相對簡單:brew install php56-xdebug就好了。但是這里也遇到了一些小障礙,首先它說我原先用brew安裝的php56不夠新,那么就brew upgrade php56好了,結(jié)果它又說Xcode不夠新,那好,先升級XCode,結(jié)果升級完了XCode還是說不行,在.configure的時候找不到zlib庫,原來還需要在命令行執(zhí)行xcode-select --install,執(zhí)行完這個之后再執(zhí)行brew upgrade php56,順利通過。于是brew install php56-xdebug,這次順利通過。
安裝php-debug插件接下來,我們直接在Atom里搜索插件php-debug,安裝通過,執(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
請注意,這里一定要把xdebug.remote_autostart設(shè)為false,因為如果你不把這里設(shè)置為false的話,下一步安裝的瀏覽器插件就不會起作用。
安裝Chrome插件安裝Xdebug Helper。這一步也相對比較容易,缺省安裝就可以。安裝之后就是這個樣子,當(dāng)你需要debug的時候,點擊這個小甲蟲把它變成綠色就可以了。我們上面一個步驟把autostart設(shè)為false就是為它服務(wù)的,如果你在上一步?jīng)]有把autotart設(shè)為false的話,那么不論你按不按,每一個請求都會debug。
聯(lián)合調(diào)試問題就出在這里,無論我如何刷新頁面,Atom里的debug總是啟動不起來。我一開始強烈懷疑是不是這個xdebug就沒有啟動,沒有監(jiān)聽呢?于是我執(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)
我一開始不太理解原理,我以為php-fpm監(jiān)聽9000端口和Atom監(jiān)聽9000端口都是由于這一句設(shè)置
xdebug.remote_port=9000
導(dǎo)致的,雖然隱隱約約感覺這里不對,但是也沒有多想,還在瘋狂嘗試各種方法,甚至加上了
xdebug.remote_log=/var/log/xdebug.log
查看我刷新頁面時是否有請求發(fā)送給php-fpm,每次刷新頁面時確實有請求進(jìn)來,但總是連不通,無論如何刷新頁面,Atom永遠(yuǎn)都是Listening狀態(tài):
萬般無奈之下,回去讀文章,在最關(guān)鍵處讀到原來xdebug里的9000端口設(shè)置是為連接遠(yuǎn)端設(shè)置的,也就是說xdebug本身不是服務(wù)器,而我們的Atom里的php-debug才是服務(wù)器!是我們的Atom在監(jiān)聽9000端口,而位于php-fpm里面的xdebug配置9000不是讓它去監(jiān)聽9000,而是向我們這個Atom的9000端口發(fā)請求!
那我們的php-fpm的9000端口監(jiān)聽又是哪里來的呢?原來php-fpm的缺省配置/usr/local/etc/php/5.6/php-fpm.conf也是9000端口!
listen = 127.0.0.1:9000
所以是Atom和php-fpm在爭奪9000端口!或者說xdebug誤導(dǎo)了Atom去使用9000端口。
了解了這個,接下來就好辦了,我們把ext-xdebug.ini里的xdebug.remote_port改成9090:
xdebug.remote_port=9090
再把Atom里的php-debug監(jiān)聽端口改為9090:
這時候再在Chrome里面刷新頁面,不再是Listening狀態(tài),變?yōu)镃onnected狀態(tài)了!
原先之所以沒有人提到這個,是因為大家通常都是直接用Apache調(diào)用php,沒有使用php-fpm,所以沒有遇到這個問題。如果你也使用php-fpm的話,這篇文章一定對你有幫助。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/22992.html
摘要:前言是一款幫助調(diào)試代碼的擴展主要功能有堆棧跟蹤代碼覆蓋率分析垃圾收集統(tǒng)計遠(yuǎn)程調(diào)試其中最有用的功能就屬遠(yuǎn)程調(diào)試了,下面就一步步來搭建。它檢查和變量以找出使用哪個地址。 前言 xdebug是一款幫助php調(diào)試代碼的擴展,主要功能有 堆棧跟蹤 代碼覆蓋率分析 垃圾收集統(tǒng)計 遠(yuǎn)程調(diào)試 其中最有用的功能就屬遠(yuǎn)程調(diào)試了,下面就一步步來搭建xdebug。從sublime轉(zhuǎn)到atom后,發(fā)現(xiàn)ato...
摘要:前言是一款幫助調(diào)試代碼的擴展主要功能有堆棧跟蹤代碼覆蓋率分析垃圾收集統(tǒng)計遠(yuǎn)程調(diào)試其中最有用的功能就屬遠(yuǎn)程調(diào)試了,下面就一步步來搭建。它檢查和變量以找出使用哪個地址。 前言 xdebug是一款幫助php調(diào)試代碼的擴展,主要功能有 堆棧跟蹤 代碼覆蓋率分析 垃圾收集統(tǒng)計 遠(yuǎn)程調(diào)試 其中最有用的功能就屬遠(yuǎn)程調(diào)試了,下面就一步步來搭建xdebug。從sublime轉(zhuǎn)到atom后,發(fā)現(xiàn)ato...
摘要:最近老是在重裝系統(tǒng),每次重裝就要重新配置環(huán)境,安裝軟件,安裝插件。因為基本只有這個插件,才可以設(shè)置一個文件夾下三個項目能分別傳到不同的服務(wù)器中。在全球最大的同性交友網(wǎng)站中,只要鼠標(biāo)懸停到一個項目上時,就會在一個彈窗顯示該項目的信息。 最近老是在重裝系統(tǒng),每次重裝就要重新配置環(huán)境,安裝軟件,安裝插件。每次重裝的時候,都不知道自己以前到底用過什么軟件插件。所以,還是寫一篇文章記錄下來,順便...
摘要:最近老是在重裝系統(tǒng),每次重裝就要重新配置環(huán)境,安裝軟件,安裝插件。因為基本只有這個插件,才可以設(shè)置一個文件夾下三個項目能分別傳到不同的服務(wù)器中。在全球最大的同性交友網(wǎng)站中,只要鼠標(biāo)懸停到一個項目上時,就會在一個彈窗顯示該項目的信息。 最近老是在重裝系統(tǒng),每次重裝就要重新配置環(huán)境,安裝軟件,安裝插件。每次重裝的時候,都不知道自己以前到底用過什么軟件插件。所以,還是寫一篇文章記錄下來,順便...
摘要:此擴展使用安裝在已打開的工作區(qū)文件夾內(nèi)的庫。此擴展由開發(fā),是一個與之間的調(diào)試適配器。它具有零依賴性,并可以極大程度地工作于任何規(guī)模的項目里。查看先前文件的拷貝或者將其與工作區(qū)版本或先前版本進(jìn)行比較,查看編輯器里對活動行的更改。 showImg(https://segmentfault.com/img/remote/1460000018002818?w=1223&h=630); 嗨 工匠...
閱讀 1295·2021-10-08 10:04
閱讀 1922·2021-09-04 16:40
閱讀 2536·2019-08-30 13:21
閱讀 2280·2019-08-29 15:10
閱讀 2848·2019-08-29 12:35
閱讀 1189·2019-08-26 17:41
閱讀 3062·2019-08-26 17:03
閱讀 1136·2019-08-26 12:01