目錄
- 概述
- 配置xdebug擴展
- 設置phpstorm
- php7進階到架構師相關閱讀
概述
這是關于php進階到架構之核心技術與實踐學習的系列課程:phpstorm配置Xdebug最完整教程,絕對成功
學習目標:
成功搭建php 的xdebug開發環境,便于本地調試,提高開發效率
配置xdebug擴展
本文以windows環境為例,其他的linux和mac等環境同理。
本文配置phpstrom支持xdebug斷點調試,不需要瀏覽器安裝擴展程序即可php程序斷點調試
xdebug官網下載地址:https://xdebug.org/download.php
第一步:根據自己電腦的php版本下載對應的xdebug版本
【注意:區分ts和nts版本】
TS指Thread Safety,即線程安全,一般在IIS以ISAPI方式加載的時候選擇這個版本。
NTS即None-Thread Safe,一般以fast cgi方式運行的時候選擇這個版本,具有更好的性能。
如何確定自己電腦支持的是NTS還是TS?
運行phpinfo(),部分截圖如下
我的電腦顯示是NTS版本。
xdebug官網下載列表NTS版本與TS版本的區分如下圖:
xdebug NTS與TS版本區分
根據自己系統支持選擇對應的(php版本 NTS/TS)
第二步:在php.ini配置,讓php支持xdebug
[xdebug]zend_extension="F:AppServphp5extphp_xdebug-2.4.1-5.6-vc11.dll" #指定Xdebug擴展文件的絕對路徑
【注意:下面的配置是錯誤的】
extension = "F:AppServphp5extphp_xdebug-2.4.1-5.6-vc11.dll"
由于php支持模塊,一般都是在php.ini文件中配置extension=xxx.dll,我就是犯了這樣的錯誤
extension = "F:AppServphp5extphp_xdebug-2.4.1-5.6-vc11.dll
這樣配置,導致xdebug配置始終不成功,花了大半天才發現這個錯誤,都是血淚的教訓呀
xdebug在php.ini中完整配置如下:
xdebug.profiler_enable=on #是否啟用Xdebug的性能分析,并創建性能信息文件xdebug.remote_enable = on #是否開啟遠程調試xdebug.remote_handler = dbgp #指定遠程調試的處理協議xdebug.remote_host= 127.0.0.1 #指定遠程調試的主機名xdebug.remote_port = 9001 #指定遠程調試的端口號,避免9000端口和php-fpm沖突xdebug.idekey = PHPSTORM #指定傳遞給DBGp調試器處理程序的IDE Key
重啟服務器,運行phpinfo(),看是否支持xdebug
出現這個表明php支持xdebug
設置phpstorm
第一步:打開phpstorm的設置
第二步:在設置中搜索xdebug,設置端口號9001
注意這個需要和php.ini中xdebug.remote_port 配置保持一致)
點擊apply按鈕,保存設置
第三步:設置GBDP
其中的IDE_key需要和php.ini中xdebug.idekey配置保持一致,
設置主機,可以自定義,如localhost,這是個名稱,需要在下一步具體設置點擊apply按鈕,保存設置
第四步:設置主機Host
第五步:選擇主機Host
(1)點擊下圖所指的位置
(2)選擇主機
第6步:在你運行項目的入口文件添加以下代碼
if ($_SERVER['REMOTE_ADDR'] == '127.0.0.1') { setcookie('XDEBUG_SESSION', 1, time() 86400);}
這樣就保證瀏覽器不需要添加debug擴展
第七步:開啟調試模式
最后一步:在需要調試的php代碼處打斷點,進行調試
【需要注意:】
第一次不會觸發斷點調試,原因是下面代碼第一次運行,不存在XDEBUG_SESSION的cookie值。
再次運行,就會觸發斷點調試
setcookie('XDEBUG_SESSION', 1, time() 86400);
出現這個,恭喜你配置成功!可以愉快地開發玩耍最好的語言php了!
php7進階到架構師相關閱讀
https://www.kancloud.cn/gofor/gofor
最后,歡迎大家留言補充,討論~~~
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。