有時(shí)候我們?cè)谑褂胮hp和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)槲覀冊(cè)趐hp.ini中配置extension的時(shí)候需要改成zend_extension才行,也就zend_extension=php_xdebug.dll。
第三步:我們需要配置xebug的調(diào)試語(yǔ)句,也就是需要在php.ini中填入下面的語(yǔ)句
[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)的,比如常用的許多圖形庫(kù),加密算法等。當(dāng)激活擴(kuò)展后,php就會(huì)和擴(kuò)展交互,這里的xdebug就是通過獲取到的php運(yùn)行信息來進(jìn)行調(diào)試的。
總結(jié)
以上所述是小編給大家介紹的解決windows上php xdebug 無法調(diào)試的問題,希望對(duì)大家有所幫助,也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
您可能感興趣的文章:- Ubuntu下開啟php調(diào)試模式報(bào)錯(cuò)信息解決辦法
- 如何運(yùn)行/調(diào)試你的PHP代碼
- PHPStorm 2020.1 調(diào)試 Nodejs的多種方法詳解
- PhpStorm+xdebug+postman調(diào)試技巧分享
- php開發(fā)最強(qiáng)大的IDE編輯的phpstorm 2020.2配置Xdebug調(diào)試的詳細(xì)教程
- phpStudy vscode 搭建debug調(diào)試的教程詳解
- Vagrant(WSL)+PHPStorm+Xdebu 斷點(diǎn)調(diào)試環(huán)境搭建
- PhpStorm 如何優(yōu)雅的調(diào)試Hyperf的方法步驟
- PHP如何打印跟蹤調(diào)試信息