php xdebug讀不到的解決方法:1、查看php的版本;2、使用「php -m」檢查xdebug是否安裝;3、設定xebug的偵錯語句即可。
本文操作環境:Windows7系統、PHP7.1版、DELL G3電腦
php xdebug讀不到怎麼辦?
解決windows上php xdebug 無法調試的問題
有時候我們在使用php和nginx進行開發的時候,會出現這樣的情況,明明擴充功能已經安裝,但是就是無法調試成功。這時候我們就要耐心分析問題產生的原因。
第一步:查看php的版本例如是否是x64還是x86,看看xdebug是否激活,可以透過phpinfo();來查看擴充功能是否啟動。
第二步:使用php -m再次檢查xdebug是否已安裝。
這時候可能會遇到 xdebug must be loaded as zend extension 。這是因為我們在php.ini配置extension的時候需要改成zend_extension才行,也就zend_extension=php_xdebug.dll。
第三步:我們需要配置xebug的調試語句,也就是需要在php.ini中填入下面的語句
[XDebug] xdebug.remote_enable = 1 xdebug.remote_autostart = 1 xdebug.remote_port=9090 xdebug.remote_host=127.0.0.1
這裡有個非常重要的一個參數就是remote_port=9090,預設的話會是9000,但是如果填入9000這個端口,可能會導致你的php無法調試,因為9000端口會被nginx佔用做代理。
如何查看9000端口是否被佔用,可以在命令列輸入netstat -anp|findstr "9000"這個命令,如果有程式佔用9000端口,就會顯示出來,我們可以查看到他的pid,接下來我們透過tasklist|findstr "2342"(2343是剛才查到的pid)來找到是哪個進程佔用的這個端口,如果可以關閉的話,就關閉,不能關閉的話,我們就需要修改我們的端口號,例如筆者這裡修改為9090.
總結:程式設計就是一個不斷遇到問題,不斷解決問題的過程,可能同樣的程式碼,不同的環境就會導致結果不同,同樣的環境,不同的參數也會導致運作不同,我們需要做的就是不斷加深我們的理解,學會查看錯誤日誌,學會分析程式運行邏輯,這樣才能克服重重困難,勇攀高峰。
這裡例如調試的問題,我們首先需要明白調試的原理是什麼,它本質上是另一個進程去監聽我們的調試,它首先是php的一個擴展,php的好多功能都是透過擴充來實現的,例如常用的許多圖形庫,加密演算法等。當啟動擴充後,php就會和擴展交互,這裡的xdebug就是透過取得到的php運行資訊來進行偵錯的。
推薦學習:《PHP影片教學》
以上是php xdebug讀不到怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!