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