欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

如何進(jìn)行PhpStorm代碼調(diào)試

今天就跟大家聊聊有關(guān)如何進(jìn)行PhpStorm 代碼調(diào)試,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)建站是一家專注于網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站與策劃設(shè)計(jì),南鄭網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:南鄭等地區(qū)。南鄭做網(wǎng)站價(jià)格咨詢:18982081108

前面的教程大多圍繞的是如何提高 PhpStorm 的日常編碼效率,無(wú)論是代碼導(dǎo)航、插件、快捷鍵還是代碼模板、代碼重構(gòu),都是圍繞著效率展開。接下來(lái),學(xué)院君來(lái)給大家介紹一些效率以外的主題,比如調(diào)試、測(cè)試以及編碼風(fēng)格。

首先我們來(lái)看調(diào)試。

在 PHP 生態(tài)中,最有名的調(diào)試工具莫過(guò)于 Xdebug:

如何進(jìn)行PhpStorm 代碼調(diào)試  
Xdebug

所以,接下來(lái),我們就以 Xdebug 為例演示如何在 PhpStorm 中對(duì) PHP 代碼進(jìn)行調(diào)試。

 

安裝配置 Xdebug 擴(kuò)展

使用 Xdebug 對(duì)代碼進(jìn)行調(diào)試前,先要安裝對(duì)應(yīng)的 PHP 擴(kuò)展。

以 Mac 系統(tǒng)為例,我們可以在終端窗口通過(guò) php -m 指令查看是否已經(jīng)安裝 Xdebug 擴(kuò)展:

如何進(jìn)行PhpStorm 代碼調(diào)試  

在 Zend Mdoules 列表中可以看到「Xdebug」即表示安裝成功。如果還沒(méi)有安裝,可以參考 Xdebug 官方文檔進(jìn)行安裝。

除此之外,還需要通過(guò)配置文件對(duì) Xdebug 盡心配置,可以通過(guò) php --ini 命令查看 PHP 配置文件路徑:

如何進(jìn)行PhpStorm 代碼調(diào)試  

這里,我們?cè)?/usr/local/etc/php/7.4/php.ini 中配置 Xdebug 配置如下(當(dāng)然,你可以選擇在 /usr/local/etc/php/7.4/conf.d 目錄下新建一個(gè) ext-xdebug.ini 對(duì) Xdebug 進(jìn)行單獨(dú)配置,PHP 會(huì)自動(dòng)加載對(duì)應(yīng)的配置文件):

[XDebug]
zend_extension="xdebug.so"
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9001
xdebug.remote_autostart=1
xdebug.profiler_enable=1
xdebug.profiler_output_dir="/tmp"
xdebug.idekey=PHPSTORM
 

這里我們啟用了遠(yuǎn)程監(jiān)聽(包括 IP 地址和端口設(shè)置)、腳本分析、以及設(shè)置 idekeyPHPSTORM,關(guān)于調(diào)試和分析配置項(xiàng)細(xì)節(jié)和含義,請(qǐng)參考 Xdebug 官方提供的調(diào)試設(shè)置和腳本分析文檔。

完成以上準(zhǔn)備工作后,可以在任意空目錄下新建 index.php,在其中編寫如下 PHP 腳本:

<?php
    phpinfo();
?>
 

然后運(yùn)行 php -S localhost:9000 來(lái)啟動(dòng) PHP 內(nèi)置 HTTP 服務(wù)器,在瀏覽器訪問(wèn) http://localhost:9000,查看 PHP 中 Xdebug 擴(kuò)展配置是否生效:

如何進(jìn)行PhpStorm 代碼調(diào)試  
 

配置 PHP CLI 解釋器

接下來(lái),我們就可以在 PhpStorm 中通過(guò) Xdebug 來(lái)調(diào)試 PHP 代碼了。

開始進(jìn)行代碼調(diào)試前,先在 Preferences | Languages & Frameworks | PHP 中配置 PHP CLI 解釋器:

如何進(jìn)行PhpStorm 代碼調(diào)試  

如果你的 PhpStorm 中當(dāng)前 CLI Interpreter 一欄顯示 <no interpreter> 的話,可以點(diǎn)擊右側(cè)「…」 按鈕添加:

如何進(jìn)行PhpStorm 代碼調(diào)試  

注:你也可以在這里看到相應(yīng)的 Debugger 擴(kuò)展是 Xdebug 2.9.6 版本,如果這里沒(méi)有檢測(cè)到對(duì)應(yīng)的 Xdebug 擴(kuò)展信息,表明該版本的 PHP 沒(méi)有安裝這個(gè)擴(kuò)展,需要參考上面的安裝設(shè)置步驟進(jìn)行安裝配置。

在 Name 框輸入 CLI 解釋器的名稱,在 PHP executable 框輸入當(dāng)前系統(tǒng) PHP 二進(jìn)制文件的路徑即可,如果不知道,可以在終端窗口運(yùn)行 which php 命令查看。

 

調(diào)試 PHP CLI 腳本代碼

接下來(lái),我們先來(lái)看一個(gè)本地 PHP CLI 腳本代碼的調(diào)試。我們首先編寫一段測(cè)試代碼 multi.php,這段代碼的作用是打印九九乘法表:

<?php
// 通過(guò)二維數(shù)組生成九九乘法表
$multi = [];
for ($j = 0; $j < 9; $j++) {
    for ($i = 0; $i < 9; $i++) {
        $n1 = $i + 1;
        $n2 = $j + 1;
        if ($n1 < $n2) {  // 摒除重復(fù)的記錄
            continue;
        }
        $multi[$i][$j] = sprintf("%dx%d=%d", $n2, $n1, $n1 * $n2);
    }
}

// 打印九九乘法表
foreach ($multi as $row) {
    foreach ($row as $item) {
        printf("%-8s", $item);  // 位寬為8,左對(duì)齊
    }
    printf("\n");
}
 

我們?cè)诮K端窗口執(zhí)行這段代碼,打印結(jié)果如下:

如何進(jìn)行PhpStorm 代碼調(diào)試  

如果在代碼執(zhí)行過(guò)程中報(bào)錯(cuò),或者想要了解代碼執(zhí)行的完整流程,可以在代碼編輯區(qū)從指定位置設(shè)置斷點(diǎn)(從任意你想要調(diào)試的位置開始):

如何進(jìn)行PhpStorm 代碼調(diào)試  
-w736

然后在 PhpStorm 導(dǎo)航菜單點(diǎn)擊 Run->Debug…(或者通過(guò)快捷鍵 Ctrl + Option + D):

如何進(jìn)行PhpStorm 代碼調(diào)試  

在彈出窗口選擇要調(diào)試的 PHP 腳本:

如何進(jìn)行PhpStorm 代碼調(diào)試  

即可進(jìn)入 PHP CLI 腳本的調(diào)試流程:

如何進(jìn)行PhpStorm 代碼調(diào)試  

接下來(lái),你可以點(diǎn)擊上圖紅框內(nèi)的按鈕進(jìn)行斷點(diǎn)調(diào)試,將鼠標(biāo)移到對(duì)應(yīng)的按鈕上會(huì)出現(xiàn)提示文本,比如 Step Over 表示跳過(guò)當(dāng)前這一行,Step Into 表示進(jìn)入函數(shù)內(nèi)部等等,這里我們可以點(diǎn)擊通過(guò) Step Into(第二個(gè)按鈕)逐行調(diào)試代碼,在調(diào)試過(guò)程中,你可以實(shí)時(shí)看到當(dāng)前作用域內(nèi)變量的值:

如何進(jìn)行PhpStorm 代碼調(diào)試  

這樣,可以及時(shí)感知代碼當(dāng)前的執(zhí)行狀態(tài),從而對(duì)出現(xiàn)問(wèn)題的地方進(jìn)行定位和排查原因。如果代碼邏輯很復(fù)雜,變量很多,還可以通過(guò)將關(guān)心的變量添加到監(jiān)控區(qū)進(jìn)行查看:

如何進(jìn)行PhpStorm 代碼調(diào)試  

 
如何進(jìn)行PhpStorm 代碼調(diào)試    

看完上述內(nèi)容,你們對(duì)如何進(jìn)行PhpStorm 代碼調(diào)試有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

分享題目:如何進(jìn)行PhpStorm代碼調(diào)試
地址分享:http://www.chinadenli.net/article14/pegsde.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)網(wǎng)站建設(shè)企業(yè)網(wǎng)站制作ChatGPT網(wǎng)站收錄虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名