W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
此功能僅在Ultimate版本中受支持。
以下內容僅在安裝并啟用PHP插件時有效!
php/
文件夾中。在安裝PHP引擎期間定義php/
文件夾 的位置。
如果您使用的是AMP軟件包,則可能已安裝Xdebug擴展。按照xdebug.txt中的說明進行操作。
在編輯器中打開活動的php.ini文件:
在“設置/首選項”對話框(Ctrl+Alt+S)中,單擊“語言和框架”下的“PHP”。
在打開的PHP頁面上,單擊“CLI解釋器”字段旁邊的。
在打開的“CLI解釋器”對話框中,“配置文件”只讀字段顯示活動php.ini文件的路徑。單擊“在編輯器中打開”。
要禁用阻止Xdebug的Zend調試器和Zend優(yōu)化器工具,請刪除或注釋掉php.ini文件中的以下行:
zend_extension=<path_to_zend_debugger> zend_extension=<path_to_zend_optimizer>
要啟用Xdebug,請找到php.ini文件中的[Xdebug]
部分并按如下所示進行更新:
[Xdebug]
zend_extension="<path to php_xdebug.dll>"
xdebug.remote_enable=1
xdebug.remote_port="<the port for Xdebug to listen to>" (the default port is 9000)
要通過Xdebug代理啟用多用戶調試,請找到該xdebug.idekey
設置并為其指定一個您選擇的值。此值將用于在Xdebug代理服務器上注冊IDE。
保存并關閉php.ini文件。
通過執(zhí)行以下任一操作來驗證Xdebug安裝:
在命令行中,運行以下命令:
php --version
輸出應在已安裝的擴展中列出Xdebug:
創(chuàng)建一個包含以下代碼的php文件:
phpinfo();
在瀏覽器中打開文件。該phpinfo
輸出應包含Xdebug部分:
注:在PHP 5.3及更高版本,您只需要使用zend_extension
,而不是zend_extension_ts
,zend_extension_debug
或extension
在“設置/首選項”對話框(Ctrl+Alt+S)中,選擇:語言和框架|PHP。
檢查與所選PHP解釋器關聯(lián)的Xdebug安裝:
在PHP頁面上,從CLI解釋器列表中選擇相關的PHP安裝,然后單擊該字段旁邊的“ 瀏覽()”。該列表顯示了IntelliJ IDEA中可用的所有PHP安裝,請參閱配置本地PHP解釋器和配置遠程PHP解釋器。
所選PHP安裝的版本。
與所選PHP安裝(Xdebug或Zend調試器)關聯(lián)的調試引擎的名稱和版本。如果未配置調試器,則IntelliJ IDEA顯示Debugger: Not installed
。
或者,打開Xdebug檢查器,粘貼phpinfo()
的輸出,然后單擊“分析我的 phpinfo() 輸出”。在“驗證調試引擎的配置”中了解“檢查Xdebug安裝”的詳細信息。
定義Xdebug行為。單擊PHP節(jié)點下的“調試”。在打開的“調試”頁面上,在Xdebug區(qū)域中指定以下設置:
在“調試端口”文本框中,指定端口,工具將通過該端口與IntelliJ IDEA通信。這必須與php.ini文件中指定的端口號完全相同:
xdebug.remote_port = <port_number>
9000
。要讓IntelliJ IDEA通過“調試端口”文本框中指定的端口接受來自Xdebug引擎的任何傳入連接,請選中“可以接受外部連接” 復選框。
清除此復選框后,調試器在到達并打開未映射的文件時不會停止,文件剛剛處理完畢,并且不會顯示任何錯誤消息。
選擇“當腳本在項目外部時在第一行強制中斷”復選框,以使調試器在到達時立即在第一行停止,并在當前項目之外打開文件。清除此復選框后,調試器會在打開當前項目外的文件時繼續(xù)。
通過未注冊的服務器配置忽略外部連接:選中此復選框可使IntelliJ IDEA忽略從主機和未注冊為部署服務器配置的端口接收到的連接。選中此復選框后,IntelliJ IDEA不會嘗試自動創(chuàng)建部署服務器配置。
在PHP腳本的第一行中斷: 選中此復選框可在調試器與IntelliJ IDEA間建立連接后立即停止(而不是在達到第一個斷點之前自動運行)。或者在主菜單上打開:運行|PHP腳本選項中的第一行中斷。
最大同時連接數(shù):使用此選值框限制可以同時處理的外部連接數(shù)。
IntelliJ IDEA 2016.2及更高版本支持On-Demand模式,您可以在其中禁用Xdebug以進行全局PHP安裝,并且只有在調試命令行腳本或需要代碼覆蓋率報告時才能按需自動啟用它。這使您的命令行腳本(包括Composer和單元測試)運行得更快。
在“設置/首選項”對話框(Ctrl+Alt+S)中,選擇“語言和框架”下的“PHP”。
從PHP可執(zhí)行文件列表中,選擇相關的PHP解釋器并單擊它旁邊的。在打開的“CLI解釋器”對話框中,單擊“配置文件:<path to php.ini>”文件旁邊的“在編輯器中打開”鏈接。關閉所有對話框并切換到已經打開php.ini文件的選項卡。
在php.ini文件中,找到[XDebug]
,并通過在前置詞中添加;
來注釋以下行:
;[XDebug]
;zend_extension = "<full_path_to_xdebug>"
打開“CLI解釋器”對話框,然后單擊“PHP可執(zhí)行文件”字段旁邊的。IntelliJ IDEA通知您未安裝調試器:
要使IntelliJ IDEA在必要時激活Xdebug,請在“調試器”擴展文本框的“附加”區(qū)域中指定它的路徑。手動鍵入路徑,或單擊,并在打開的對話框中選擇位置。
IntelliJ IDEA支持在實時(JIT)模式下使用Xdebug,因此它不會一直附加到您的代碼,而是僅在發(fā)生錯誤或拋出異常時才連接到IntelliJ IDEA。Xdebug操作模式通過xdebug.remote_mode設置切換,默認情況下設置為req。該模式可用于調試命令行腳本和Web服務器調試。
根據您是要調試命令行腳本還是使用Web服務器,請使用以下方案之一:
要調試命令行腳本,請將自定義 -dxdebug.remote_mode=jit指令指定為附加配置選項:
在“設置/首選項”對話框(Ctrl+Alt+S)中,導航到:語言和框架|PHP。
從PHP可執(zhí)行文件列表中,選擇相關的PHP解釋器并單擊它旁邊的。
在打開的“CLI解釋器”對話框中,單擊 “附加”區(qū)域中“配置選項”文本框旁邊的。
-dxdebug.remote_mode
和在“值”字段鍵入jit
。單擊“確定”后,將返回“CLI解釋器”對話框,其中顯示“配置選項”文本框顯示:-dxdebug.remote_mode=jit
。
在主菜單上,選擇:運行|Web服務器調試驗證。在打開的“Web服務器調試驗證”對話框中,選擇要驗證調試器的Web服務器。
該文件夾必須可通過http訪問。
驗證腳本的URL: 在此文本框中,鍵入將在其中創(chuàng)建驗證腳本的文件夾的URL地址。如果項目根目錄映射到可通過http
訪問的文件夾,則可以指定項目根目錄或其下的任何其他文件夾。
創(chuàng)建驗證腳本的路徑: 在此字段中,指定將在其中創(chuàng)建驗證腳本的服務器文檔根目錄下的文件夾的絕對路徑。該文件夾必須可通過http訪問。
部署服務器: 在此字段中,指定“本地服務器”或“遠程服務器”類型的服務器訪問配置以訪問目標環(huán)境。
從列表中選擇配置,或單擊“部署”對話框中的“瀏覽()”。
單擊“驗證”以使IntelliJ IDEA創(chuàng)建驗證腳本,將其部署到目標遠程環(huán)境,然后在那里運行。打開報告為已加載并與Xdebug關聯(lián)的php.ini文件。
在php.ini文件中,找到該[XDebug]
部分并將xdebug.remote_mode
從默認值req
更改為jit
。
要配置在Docker容器中運行的Xdebug,請在Dockerfile中提供特定于Xdebug的參數(shù) ,例如:
#Set up debugger
RUN echo
"xdebug.remote_enable=1" >> /etc/php/7.0/apache2/php.ini
RUN echo "xdebug.remote_host=your_host_name_or_ip" >> /etc/php/7.0/apache2/php.ini
在這個例子中,我們正在修改/etc/php/7.0/apache2/php.ini, 提供Xdebug擴展的路徑,remote_enable以及remote_hostXdebug參數(shù)。
請注意,該xdebug.remote_host值應替換為運行PhpStorm的計算機的IP地址,改地址可從Docker容器訪問。如果您使用的是Docker for Windows或Docker for Mac,則可以將xdebug.remote_host設置為host.docker.internal,它會自動解析為主機的內部地址,使您可以從容器輕松連接到主機。
要配置在Vagrant實例上運行的Xdebug ,請連接到Vagrant機器并在php.ini文件中提供特定于Xdebug的參數(shù) :
[xdebug]
zend_extension=/usr/lib/php5/20131226/xdebug.so
xdebug.remote_enable=1
xdebug.remote_host=10.0.2.2
xdebug.remote_port=9000
請注意,xdebug.remote_host的值是10.0.2.2。這是默認Vagrant設置中使用的網關,它允許從實例連接到運行IntelliJ IDEA的主機。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: