解決windows上php xdebug 無法調(diào)試的問題
有時(shí)候我們在使用php和nginx進(jìn)行開發(fā)的時(shí)候,會(huì)出現(xiàn)這樣的情況,明明擴(kuò)展已經(jīng)安裝,但是就是無法調(diào)試成功。這個(gè)時(shí)候我們就要耐心去分析問題產(chǎn)生的原因。
第一步:查看php的版本比如是否是x64還是x86,看看xdebug是否激活,可以通過phpinfo();來查看擴(kuò)展是否激活。
第二步:使用php -m
再次檢查xdebug是否安裝。
這個(gè)時(shí)候可能會(huì)遇到 xdebug must be loaded as zend extension 。這個(gè)是因?yàn)槲覀冊趐hp.ini中配置extension的時(shí)候需要改成zend_extension才行,也就zend_extension=php_xdebug.dll。
第三步:我們需要配置xebug的調(diào)試語句,也就是需要在php.ini中填入下面的語句
[XDebug]
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_port=9090
xdebug.remote_host=127.0.0.1
這里有個(gè)非常重要的一個(gè)參數(shù)就是remote_port=9090
,默認(rèn)的話會(huì)是9000,但是如果填寫9000這個(gè)端口,可能就會(huì)導(dǎo)致你的php無法調(diào)試,因?yàn)?000端口會(huì)被nginx占用做代理。
如何查看9000端口是否被占用,可以在命令行輸入netstat -anp|findstr "9000"
這個(gè)命令,如果有程序占用9000端口,就會(huì)顯示出來,我們可以查看到他的pid,接下來我們通過tasklist|findstr "2342"
(2343是剛才查到的pid)來找到是哪個(gè)進(jìn)程占用的這個(gè)端口,如果可以關(guān)閉的話,就關(guān)閉,不能關(guān)閉的話,我們就需要修改我們的端口號(hào),比如筆者這里修改為9090.
總結(jié):編程就是一個(gè)不斷遇到問題,不斷解決問題的過程,可能同樣的代碼,不同的環(huán)境就會(huì)導(dǎo)致結(jié)果不同,同樣的環(huán)境,不同的參數(shù)也會(huì)導(dǎo)致運(yùn)行不同,我們需要做的就是不斷加深我們的理解,學(xué)會(huì)查看錯(cuò)誤日志,學(xué)會(huì)分析程序運(yùn)行邏輯,這樣才能克服重重困難,勇攀高峰。
這里比如調(diào)試的問題,我們首先就需要明白調(diào)試的原理是什么,它本質(zhì)上是另起一個(gè)進(jìn)程去監(jiān)聽我們的調(diào)試,它首先是php的一個(gè)擴(kuò)展,php的好多功能都是通過擴(kuò)展來實(shí)現(xiàn)的,比如常用的許多圖形庫,加密算法等。當(dāng)激活擴(kuò)展后,php就會(huì)和擴(kuò)展交互,這里的xdebug就是通過獲取到的php運(yùn)行信息來進(jìn)行調(diào)試的。
總結(jié)
以上所述是小編給大家介紹的解決windows上php xdebug 無法調(diào)試的問題,希望對大家有所幫助,也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
利用Homestead快速運(yùn)行一個(gè)Laravel項(xiàng)目的方法詳解
這篇文章主要給大家介紹了關(guān)于利用Homestead如何快速運(yùn)行一個(gè)Laravel項(xiàng)目的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11ThinkPHP3.2框架自帶分頁功能實(shí)現(xiàn)方法示例
這篇文章主要介紹了ThinkPHP3.2框架自帶分頁功能實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了thinkPHP框架自帶分頁功能相關(guān)布局、樣式及后臺(tái)操作實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-05-05php結(jié)合ajax實(shí)現(xiàn)手機(jī)發(fā)紅包的案例
發(fā)紅包功能,當(dāng)我們輸入紅包數(shù)量和總金額后,PHP會(huì)根據(jù)這兩個(gè)值進(jìn)行隨機(jī)分配每個(gè)金額,保證每個(gè)人都能領(lǐng)取到一個(gè)紅包,每個(gè)紅包金額不等,就是要求紅包金額要有差異,所有紅包金額總額應(yīng)該等于總金額。2016-10-10PHP使用Apache的偽靜態(tài)功能實(shí)現(xiàn)“網(wǎng)頁404時(shí)跳轉(zhuǎn)指定頁面
這篇文章主要介紹了PHP使用Apache的偽靜態(tài)功能實(shí)現(xiàn)“網(wǎng)頁404時(shí)跳轉(zhuǎn)指定頁面,這是比較常見的頁面,文中的方法可以很好的解決,有需要的同學(xué)可以借鑒下2021-03-03詳解WordPress開發(fā)中過濾屬性以及Sql語句的函數(shù)使用
這篇文章主要介紹了WordPress開發(fā)中過濾屬性以及Sql語句的函數(shù)使用,分別是對esc_attr()函數(shù)和esc_sql()函數(shù)的講解,需要的朋友可以參考下2015-12-12php中輸出json對象的值(實(shí)現(xiàn)方法)
下面小編就為大家分享一篇php中輸出json對象的值(實(shí)現(xiàn)方法),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03