中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行PhpStorm 代碼調試

發布時間:2021-10-11 11:17:06 來源:億速云 閱讀:231 作者:柒染 欄目:大數據

今天就跟大家聊聊有關如何進行PhpStorm 代碼調試,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

前面的教程大多圍繞的是如何提高 PhpStorm 的日常編碼效率,無論是代碼導航、插件、快捷鍵還是代碼模板、代碼重構,都是圍繞著效率展開。接下來,學院君來給大家介紹一些效率以外的主題,比如調試、測試以及編碼風格。

首先我們來看調試。

在 PHP 生態中,最有名的調試工具莫過于 Xdebug:

如何進行PhpStorm 代碼調試  
Xdebug

所以,接下來,我們就以 Xdebug 為例演示如何在 PhpStorm 中對 PHP 代碼進行調試。

 

安裝配置 Xdebug 擴展

使用 Xdebug 對代碼進行調試前,先要安裝對應的 PHP 擴展。

以 Mac 系統為例,我們可以在終端窗口通過 php -m 指令查看是否已經安裝 Xdebug 擴展:

如何進行PhpStorm 代碼調試  

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

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

如何進行PhpStorm 代碼調試  

這里,我們在 /usr/local/etc/php/7.4/php.ini 中配置 Xdebug 配置如下(當然,你可以選擇在 /usr/local/etc/php/7.4/conf.d 目錄下新建一個 ext-xdebug.ini 對 Xdebug 進行單獨配置,PHP 會自動加載對應的配置文件):

[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
 

這里我們啟用了遠程監聽(包括 IP 地址和端口設置)、腳本分析、以及設置 idekeyPHPSTORM,關于調試和分析配置項細節和含義,請參考 Xdebug 官方提供的調試設置和腳本分析文檔。

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

<?php
    phpinfo();
?>
 

然后運行 php -S localhost:9000 來啟動 PHP 內置 HTTP 服務器,在瀏覽器訪問 http://localhost:9000,查看 PHP 中 Xdebug 擴展配置是否生效:

如何進行PhpStorm 代碼調試  
 

配置 PHP CLI 解釋器

接下來,我們就可以在 PhpStorm 中通過 Xdebug 來調試 PHP 代碼了。

開始進行代碼調試前,先在 Preferences | Languages & Frameworks | PHP 中配置 PHP CLI 解釋器:

如何進行PhpStorm 代碼調試  

如果你的 PhpStorm 中當前 CLI Interpreter 一欄顯示 <no interpreter> 的話,可以點擊右側「…」 按鈕添加:

如何進行PhpStorm 代碼調試  

注:你也可以在這里看到相應的 Debugger 擴展是 Xdebug 2.9.6 版本,如果這里沒有檢測到對應的 Xdebug 擴展信息,表明該版本的 PHP 沒有安裝這個擴展,需要參考上面的安裝設置步驟進行安裝配置。

在 Name 框輸入 CLI 解釋器的名稱,在 PHP executable 框輸入當前系統 PHP 二進制文件的路徑即可,如果不知道,可以在終端窗口運行 which php 命令查看。

 

調試 PHP CLI 腳本代碼

接下來,我們先來看一個本地 PHP CLI 腳本代碼的調試。我們首先編寫一段測試代碼 multi.php,這段代碼的作用是打印九九乘法表:

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

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

我們在終端窗口執行這段代碼,打印結果如下:

如何進行PhpStorm 代碼調試  

如果在代碼執行過程中報錯,或者想要了解代碼執行的完整流程,可以在代碼編輯區從指定位置設置斷點(從任意你想要調試的位置開始):

如何進行PhpStorm 代碼調試  
-w736

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

如何進行PhpStorm 代碼調試  

在彈出窗口選擇要調試的 PHP 腳本:

如何進行PhpStorm 代碼調試  

即可進入 PHP CLI 腳本的調試流程:

如何進行PhpStorm 代碼調試  

接下來,你可以點擊上圖紅框內的按鈕進行斷點調試,將鼠標移到對應的按鈕上會出現提示文本,比如 Step Over 表示跳過當前這一行,Step Into 表示進入函數內部等等,這里我們可以點擊通過 Step Into(第二個按鈕)逐行調試代碼,在調試過程中,你可以實時看到當前作用域內變量的值:

如何進行PhpStorm 代碼調試  

這樣,可以及時感知代碼當前的執行狀態,從而對出現問題的地方進行定位和排查原因。如果代碼邏輯很復雜,變量很多,還可以通過將關心的變量添加到監控區進行查看:

如何進行PhpStorm 代碼調試  

 
如何進行PhpStorm 代碼調試    

看完上述內容,你們對如何進行PhpStorm 代碼調試有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黎平县| 东乡县| 托克托县| 湄潭县| 佳木斯市| 大安市| 蓬莱市| 资溪县| 库伦旗| 湖南省| 日喀则市| 安仁县| 昌宁县| 容城县| 台江县| 油尖旺区| 衡山县| 桂平市| 蒲城县| 宝山区| 阿荣旗| 乌审旗| 游戏| 禄劝| 丹江口市| 丰顺县| 洛南县| 祁阳县| 上蔡县| 博野县| 嘉峪关市| 清远市| 松阳县| 武威市| 来安县| 永善县| 满洲里市| 隆回县| 天祝| 公主岭市| 津南区|