摘要:當(dāng)我在官網(wǎng)看到了遠(yuǎn)程調(diào)試原理圖時(shí),我才知道應(yīng)該怎么配置。配置的參數(shù)也少了很多,也不需要在里對(duì)一個(gè)個(gè)請(qǐng)求地址進(jìn)行配置。其他可以配置可以共用。但是如果你使用的是本地的那他就會(huì)出現(xiàn)端口被占用的情況。
介紹
我之前配置直接按網(wǎng)上的文章進(jìn)行配置總是配置不成功,里面很多東西不了解。當(dāng)我在 xdebug 官網(wǎng)看到了 xdebug 遠(yuǎn)程調(diào)試原理圖時(shí),我才知道應(yīng)該怎么配置 xdebug。配置的參數(shù)也少了很多,也不需要在 IDE 里對(duì)一個(gè)個(gè)請(qǐng)求地址進(jìn)行配置。體驗(yàn)比之前看到的文章設(shè)置好用多了
環(huán)境說明windows
vagrant+vbox+centos7+nginx+php
phpstorm
配置前準(zhǔn)備檢查 php 環(huán)境是否已經(jīng)存在 xdebug 拓展了
在命令行中輸入 php -m 可以查看 php 已加載的拓展
了解自己環(huán)境的配置
php 版本
php.ini 所在地址
服務(wù)器系統(tǒng)位數(shù) 32位 還是 64位
xdebug 和 phpstorm 交互的原理
服務(wù)器的IP和端口是 10.0.1.2:80
IDE 的客戶端IP是 10.0.1.42, 所以服務(wù)器上 xdebug.remote_host=10.0.1.42
IDE 監(jiān)聽的調(diào)試端口為 9000, 所以服務(wù)器上 xdebug.remote_port=9000
IDE 所在的客戶端,對(duì) xdebug 的服務(wù)器進(jìn)行請(qǐng)求
Xdebug 與 10.0.1.42:9000 的客戶端 IDE 監(jiān)聽端口關(guān)聯(lián)
運(yùn)行調(diào)試, xdebug 所在的服務(wù)器提供 HTTP 響應(yīng)
服務(wù)器的IP和端口是 10.0.1.2:80
IDE 的客戶端IP是一個(gè)未知的IP, 所以服務(wù)器上 xdebug.remote_connect_back=1
IDE 監(jiān)聽的調(diào)試端口為 9000, 所以服務(wù)器上 xdebug.remote_port=9000
發(fā)出 HTTP 請(qǐng)求后,Xdebug 將從 HTTP 請(qǐng)求頭獲取 IP 地址
Xdebug 會(huì)和從 HTTP 請(qǐng)求頭獲取 IP 地址的客戶端 IDE 監(jiān)聽端口關(guān)聯(lián)
運(yùn)行調(diào)試, xdebug 所在的服務(wù)器提供 HTTP 響應(yīng)
下載缺少的擴(kuò)展和軟件phpstorm 編輯器
xdebug 擴(kuò)展
配置 php 環(huán)境配置添加 xdebug 擴(kuò)展下載 xdebug 擴(kuò)展源碼
cd /usr/local/src wget https://xdebug.org/files/xdebug-2.7.0alpha1.tgz 解壓 tar -zxvf xdebug-2.7.0alpha1.tgz
編譯安裝
cd xdebug-2.7.0alpha1 生成安裝腳本 phpize 設(shè)置安裝配置參數(shù) vim install-sh > ./configure --with-php-config=/usr/local/php/bin/php-config 運(yùn)行安裝配置 sh install-sh 編譯擴(kuò)展,使用兩個(gè) cpu 內(nèi)核運(yùn)行(可以快很多) make -j 2 編譯安裝 make install
注意: 編譯安裝后,會(huì)返回?cái)U(kuò)展所在文件夾。
php.ini 中添加 xdebug 配置
[xdebug] zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/xdebug.so" xdebug.idekey="PHPSTORM" xdebug.remote_enable = On xdebug.remote_autostart=On xdebug.remote_connect_back=On xdebug.remote_port=9001phpstorm 配置
打開設(shè)置 file -> settings -> Languages & Frameworks
設(shè)置項(xiàng)目使用環(huán)境
設(shè)置 debug 配置 Languages & Frameworks -> php -> debug
設(shè)置 xdebug dbgp 配置 Languages & Frameworks -> php -> debug -> dbgp proxy
設(shè)置當(dāng)前項(xiàng)目所在服務(wù)器地址和域名
開始調(diào)試打開編輯器調(diào)試監(jiān)聽
在指定控制器中添加斷點(diǎn)
請(qǐng)求地址,編輯器會(huì)自動(dòng)進(jìn)入調(diào)試模式中
系列文章xdebug的安裝配置 [本篇]
xdebug的實(shí)際運(yùn)用
xdebug性能分析
FQA我的 php 運(yùn)行環(huán)境在 windows 下應(yīng)該要怎么設(shè)置
windows 的添加擴(kuò)展會(huì)比 linux 簡(jiǎn)單很多。直接下載 dll 擴(kuò)展文件就可以了。除了 zend_extension 設(shè)置的地址不一樣。其他可以 xdebug 配置可以共用。
php.ini 中配置 xdebug 為什么不用默認(rèn)的 9000 端口
因?yàn)?php-fpm 是使用 cgi協(xié)議 進(jìn)行運(yùn)行,所以它也需要端口,而它默認(rèn)的端口也是 9000。如果你像我這樣使用虛擬機(jī)的方式進(jìn)行訪問項(xiàng)目,不會(huì)出問題。但是如果你使用的是本地的 php-fpm 那他就會(huì)出現(xiàn)端口被占用的情況。為了避免就直接用 9001 來代替默認(rèn)端口
php.ini 中可以配置的 xdebug 參數(shù)有那些,我應(yīng)該在那里得到更全面的參數(shù)說明
xdebug 官網(wǎng)那里的手冊(cè)有詳細(xì)說明, xdebug 遠(yuǎn)程連接文檔鏈接 里的 ctrl + f 搜索 Related Settings 就可以看到連接參數(shù)了
我應(yīng)該下載那個(gè)版本的 xdebug
如果實(shí)在不知道自己的 windos 系統(tǒng)的 php 環(huán)境該用那個(gè)版本的擴(kuò)展
可以通過下載頁提供的工具進(jìn)行下載 工具鏈接
多行文本框里面是放通過 php -i 命令返回的配置內(nèi)容
為了更完整的取得參數(shù)可以 php -i > D:/php-ini.txt 保存到文件中
為什么我的 ide 配置好后,啟動(dòng)調(diào)試監(jiān)聽沒有效果
這個(gè)很有可能是你系統(tǒng)的防火墻的安全機(jī)制。把這個(gè)端口保護(hù)起來了,可以直接關(guān)閉防火墻進(jìn)行調(diào)試
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/29332.html
摘要:生成性能分析文件,再通過分析軟件進(jìn)行查看性能結(jié)果。性能分析工具詳解我們通過打開性能分析文件打頭的文件??梢院芎玫膮^(qū)分性能分析文件。 介紹 在上兩期中我已經(jīng)對(duì) xdebug 最核心的操作已經(jīng)進(jìn)行了講解。相信你可以擺脫寫 var_dump($data);die; 的編寫和完成調(diào)試后的清除了。這一期我們來學(xué)習(xí)xdebug的第二個(gè)特色-性能分析。這一個(gè)功能,在實(shí)操中用的不是很多。 使用場(chǎng)景: ...
摘要:?jiǎn)螕舸税粹o可暫停程序執(zhí)行。單擊此按鈕,通過標(biāo)準(zhǔn)關(guān)閉腳本從外部終止當(dāng)前進(jìn)程。實(shí)際上,插入符號(hào)處的當(dāng)前行有一個(gè)臨時(shí)斷點(diǎn)集,一旦程序執(zhí)行暫停,就會(huì)刪除它。心中始終十分抗拒,導(dǎo)致功能變更延期。 介紹 在 上一期 中我們已經(jīng)把 xdebug 和 phpstorm 的關(guān)聯(lián)配置設(shè)置好了,接下來我將會(huì)深入的介紹 debug 的運(yùn)用。分為3點(diǎn)內(nèi)容 快速找到錯(cuò)誤的原因 輔助讀懂比效復(fù)雜的代碼 代碼重構(gòu) ...
摘要:確定環(huán)境的干凈。這一步要優(yōu)化的話應(yīng)該是做一個(gè)類似緩存的機(jī)制,對(duì)于這種配置加載的性能提升所以我們?cè)谡{(diào)試必然是要在這里配置環(huán)境的接口。 前言 在網(wǎng)上找了一些相關(guān)配置的例子,覺得很多比較復(fù)雜,并且配置項(xiàng)過于多了,有很多冗余并不是最開始就需要的配置,所以寫一下記錄,也方便以后自己查閱。 一、brew 安裝 php 在 Mac OS 這邊不需要手動(dòng)去下載編譯打包,直接使用 brew 進(jìn)行快捷安裝...
摘要:目前有兩種流行的調(diào)試器,我在學(xué)習(xí)和研究過程中,發(fā)現(xiàn)網(wǎng)上的各種信息過于凌亂,感到痛苦,影響理解和使用。腳本在運(yùn)行時(shí),由插件向發(fā)起連接,將調(diào)試信息發(fā)送給,并通過協(xié)議進(jìn)行互動(dòng)。這種模式的缺陷是配死了目標(biāo),不能支持多用戶調(diào)試。 > 工欲善其事必先利其器,學(xué)習(xí)一門新語言,調(diào)試器的使用必不可少,本文分享一下PHP調(diào)試器的使用。 PHP目前有兩種流行的調(diào)試器, Xdebug Zend Debugg...
摘要:瀏覽器訪問就能看到大大的了其實(shí)支持多版本,需要配置下下載鏈接復(fù)制目錄下的到,命名為,配置 準(zhǔn)備學(xué)習(xí)php框架Laravel,但PHP版本要求5.4+,目前用的wamp默認(rèn)版本5.3,所以準(zhǔn)備使用xampp,以下為記錄 卸載wamp,略過 > ps:注意卸載wamp會(huì)刪除PHP目前下的文件,因?yàn)镻HP的擴(kuò)展redis,memcache也會(huì)刪除,記得備份,也可重下版本,還有MySQL...
閱讀 2805·2021-11-17 09:33
閱讀 4483·2021-09-22 15:57
閱讀 2879·2019-08-30 14:16
閱讀 3143·2019-08-29 14:07
閱讀 2421·2019-08-26 11:55
閱讀 3435·2019-08-23 17:07
閱讀 1734·2019-08-23 16:50
閱讀 2545·2019-08-23 16:08