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