這篇文章主要介紹了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中文網其他相關文章!