為什么使用斷點調試
大家可能會覺得使用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.soxdebug.enable=1xdebug.remote_enable=1;如果開啟此,將忽略下面的 xdebug.remote_host 的參數;xdebug.remote_connect_back=1;自動啟動,無需XDEBUG_SESSION_START=1xdebug.remote_autostart=1 ;宿主機IPxdebug.remote_host=192.168.36.101 xdebug.remote_port=19001xdebug.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里,目錄不一致,做了映射。否則斷點會失敗。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持php 。
您可能感興趣的文章:php strftime函數獲取日期時間php基礎
PHP多維數組指定多字段排序的示例代碼_php實例
php實現姓名根據首字母排序的類與方法(實例代碼)php實例
以上就是Phpstorm+Xdebug斷點調試PHP的方法php實例的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
|
新聞熱點
疑難解答