首頁 >後端開發 >php教程 >Phpstorm+Xdebug斷點調試PHP的方法

Phpstorm+Xdebug斷點調試PHP的方法

ringa_lee
ringa_lee原創
2018-05-15 09:07:466232瀏覽

這篇文章主要介紹了Phpstorm Xdebug斷點調試PHP的方法,本教程將透過配置Xdebug擴充進行斷點調試,目的在於提高大家的開發效率,有興趣的小伙伴們可以參考一下

為什麼要用斷點調試

大家可能會覺得使用var_dump和echo也能調試啊,為什麼還要安裝Xdebug斷點調試呢?

確實是這樣。但是var_dump和echo寫的程式碼後面還要刪除,而且明確是知道在哪裡打的,如果發現沒有運行到打點的地方,還要修改程式碼再運行一次。而斷點調試,可以在調試過程中動態打斷點,逐行查看當前各個變數的值,甚至臨時修改變數的值,更方便。建議大家使用Xdebug斷點調試。

安裝Xdebug

pecl install xdebug

如果是php7以下版本,需要加上版本號碼:

pecl install xdebug-2.5.5

pecl如果提示找不到該擴展,則使用原始碼編譯。例如:

wget http://pecl.php.net/get/xdebug-2.5.5.tgz \
  && tar xzf xdebug-2.5.5.tgz && cd xdebug-2.5.5/ \
  && phpize \
  && ./configure \
  && make && make install

附註:php5.6只能使用2.5及以下版本xdebug。

安裝好後需要在php.ini進行設定:

[xdebug]
zend_extension=xdebug.so
xdebug.enable=1
xdebug.remote_enable=1
;如果开启此,将忽略下面的 xdebug.remote_host 的参数
;xdebug.remote_connect_back=1
;自动启动,无需XDEBUG_SESSION_START=1
xdebug.remote_autostart=1 
;宿主机IP
xdebug.remote_host=192.168.36.101 
xdebug.remote_port=19001
xdebug.remote_handler=dbgp

要注意的是:

1、是zend_extension,不是extension;

2、xdebug.remote_autostart開啟後,就不用手動在請求url裡加上XDEBUG_SESSION_START=1了,只要Phpstorm開啟斷點調試就ok了。很方便;

3、remote_host配置的是安裝有Phpstorm的機器,這點要注意。如果php安裝的機器和Phpstorm安裝的機器是同一台機器,那麼位址寫入127.0.0.1即可。

如果你採用的是docker環境,remote_host寫宿主機的IP。

4、xdebug.remote_port連接埠我寫的是19001,那麼Phpstorm也需要修改。

配置完成後需要重新啟動php-fpm。

設定Phpstorm

設定也很簡單,設定埠即可:

接下來就可以斷點調試了。開啟監聽:


請求url的時候就會自動捕捉到請求。

注意:

1、不要同時開啟多個專案的監聽;

2、監聽遠端程式碼的時候,如果宿主機和程式碼所在目錄結構一致,會直接監聽成功。否則,會提示設定代碼映射關係。也可以手動設定:

這裡因為宿主機是windows,程式碼在linux裡,目錄不一致,做了映射。否則斷點會失敗。


#

以上是Phpstorm+Xdebug斷點調試PHP的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn