真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

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

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

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

前面的教程大多圍繞的是如何提高 PhpStorm 的日常編碼效率,無(wú)論是代碼導(dǎo)航、插件、快捷鍵還是代碼模板、代碼重構(gòu),都是圍繞著效率展開(kāi)。接下來(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)聽(tīng)(包括 IP 地址和端口設(shè)置)、腳本分析、以及設(shè)置 idekeyPHPSTORM,關(guān)于調(diào)試和分析配置項(xiàng)細(xì)節(jié)和含義,請(qǐng)參考 Xdebug 官方提供的調(diào)試設(shè)置和腳本分析文檔。

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

    phpinfo();
?>
 

然后運(yùn)行 php -S localhost:9000 來(lái)啟動(dòng) PHP 內(nèi)置 HTTP 服務(wù)器,在瀏覽器訪(fǎng)問(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 代碼了。

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

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

如果你的 PhpStorm 中當(dāng)前 CLI Interpreter 一欄顯示 的話(huà),可以點(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 解釋器的名稱(chēng),在 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)試。我們首先編寫(xiě)一段測(cè)試代碼 multi.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)試的位置開(kāi)始):

如何進(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è)資訊頻道,感謝大家的支持。


本文標(biāo)題:如何進(jìn)行PhpStorm代碼調(diào)試
瀏覽路徑:http://weahome.cn/article/pegsde.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部