溫馨提示×

如何在centos上配置phpstorm的Xdebug

小樊
38
2025-09-17 18:57:08
欄目: 編程語言

1. 安裝Xdebug擴展

首先確保CentOS系統已安裝PHP及開發工具(php-devel、php-pear),然后通過PECL安裝Xdebug:

sudo yum install php-devel php-pear -y
sudo pecl install xdebug

安裝完成后,需記錄Xdebug擴展的路徑(如/usr/lib64/php/modules/xdebug.so),后續需在php.ini中引用。

2. 配置php.ini文件

找到PHP的配置文件(可通過php --ini命令查看,通常為/etc/php.ini/etc/php.d/99-xdebug.ini),添加以下Xdebug配置(關鍵參數說明):

[xdebug]
zend_extension=xdebug.so  # Xdebug擴展路徑(若通過PECL安裝,可直接寫模塊名)
xdebug.mode=debug         # 啟用調試模式(Xdebug 3+必需)
xdebug.client_host=127.0.0.1  # 調試客戶端地址(即PhpStorm所在機器IP,本地調試用127.0.0.1)
xdebug.client_port=9003   # 調試端口(默認9003,需與PhpStorm配置一致)
xdebug.idekey=PHPSTORM    # IDE標識符,用于關聯PhpStorm(需與PhpStorm設置一致)

修改后保存文件。

3. 重啟Web服務器

使php.ini配置生效,根據使用的Web服務器執行對應命令:

  • Apachesudo systemctl restart httpd
  • Nginx + PHP-FPMsudo systemctl restart nginx && sudo systemctl restart php-fpm

4. 驗證Xdebug安裝

創建info.php文件(路徑如/var/www/html/info.php),內容為:

<?php phpinfo(); ?>

在瀏覽器中訪問http://your_server_ip/info.php,搜索“Xdebug”,若出現Xdebug配置信息(如版本、模式),則說明安裝成功。

5. 配置PhpStorm

5.1 設置PHP解釋器

打開PhpStorm,進入File -> Settings -> PHP,點擊“…”選擇PHP解釋器。確保已添加本地或遠程PHP解釋器(如/usr/bin/php),并檢查Xdebug擴展是否在“Loaded Extensions”列表中。

5.2 添加Servers配置

進入File -> Settings -> PHP -> Servers,點擊“+”添加新服務器:

  • Name:自定義名稱(如“Local Server”);
  • Host:服務器地址(本地調試填127.0.0.1,遠程調試填服務器IP);
  • Port:Web服務器端口(如80、4438080);
  • 勾選“Use path mappings”:設置本地項目路徑與服務器路徑的映射(如本地/home/user/project對應服務器/var/www/html)。

5.3 配置Debug設置

進入File -> Settings -> PHP -> Debug,檢查以下配置:

  • Debug port:設置為與php.inixdebug.client_port一致的端口(默認9003);
  • IDE key:設置為與php.inixdebug.idekey一致的值(PHPSTORM);
  • Can accept external connections:勾選(允許外部連接,遠程調試必需)。

6. 啟動調試會話

  • 方式1:監聽調試連接:點擊PhpStorm工具欄的“Start Listening for PHP Debug Connections”按鈕(蟲子圖標),開啟調試監聽。
  • 方式2:觸發調試:在代碼中設置斷點(點擊行號左側空白處),然后在瀏覽器中訪問項目URL(如http://localhost)。PhpStorm會自動捕獲Xdebug連接,暫停在斷點處。

7. 常見問題排查

  • 防火墻問題:確保CentOS防火墻允許xdebug.client_port(如9003)的入站連接:sudo firewall-cmd --add-port=9003/tcp --permanent && sudo firewall-cmd --reload。
  • 路徑映射錯誤:若斷點未命中,檢查“Servers”配置中的路徑映射是否正確(本地路徑需對應服務器上的項目路徑)。
  • Xdebug未啟用:再次檢查php.ini中的zend_extension路徑是否正確,以及xdebug.mode是否設置為debug。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女