温馨提示×

PHPStorm在Linux上如何配置Xdebug

小樊
54
2025-10-12 06:38:30
栏目: 编程语言

PHPStorm在Linux上配置Xdebug的完整步骤

1. 安装Xdebug扩展

首先确保Linux系统已安装PHP(建议PHP 7.2及以上版本),然后通过包管理器或源码安装Xdebug:

  • Debian/Ubuntu(apt包管理器)
    sudo apt update
    sudo apt install php-xdebug  # 自动安装匹配PHP版本的Xdebug
    
  • CentOS/RHEL(yum/dnf包管理器)
    sudo yum install php-devel php-pear gcc autoconf  # 安装依赖
    sudo pecl install xdebug  # 通过PECL编译安装
    
  • 源码编译(可选,适用于自定义版本)
    下载Xdebug源码(如xdebug-3.2.0.tgz),解压后执行:
    phpize
    ./configure --enable-xdebug --with-php-config=/usr/bin/php-config  # 替换为你的php-config路径
    make
    sudo make install
    

2. 配置Xdebug的php.ini文件

安装完成后,需修改php.ini以启用Xdebug。首先通过以下命令找到php.ini路径:

php --ini | grep "Loaded Configuration File"

编辑该文件(如/etc/php/8.1/fpm/php.ini/etc/php/8.1/cli/php.ini),在文件末尾添加以下配置:

[Xdebug]
zend_extension=xdebug.so  # 扩展路径(若通过包管理器安装,无需手动指定)
xdebug.mode=debug         # 启用调试模式
xdebug.client_host=127.0.0.1  # 客户端(PHPStorm所在机器)IP,远程调试时改为本地IP
xdebug.client_port=9003     # 调试端口(默认9003,需与PHPStorm一致)
xdebug.start_with_request=yes  # 自动启动调试(或设为"trigger"通过Cookie触发)
xdebug.idekey=PHPSTORM    # IDE标识,需与PHPStorm配置一致

注意:若使用PHP-FPM,需重启PHP-FPM服务;若使用Apache,重启Apache服务。

sudo systemctl restart php-fpm  # 或 apache2/nginx

3. 验证Xdebug安装

创建info.php文件(放在Web根目录,如/var/www/html),内容为:

<?php phpinfo(); ?>

通过浏览器访问该文件(如http://localhost/info.php),搜索“Xdebug”,若看到Xdebug版本及配置信息,说明安装成功。

4. 配置PHPStorm

4.1 配置PHP解释器
  1. 打开PHPStorm,进入File > Settings > PHP(或PhpStorm > Preferences > PHP)。
  2. 点击“CLI Interpreter”右侧的齿轮图标,选择“Add”:
    • 若本地开发,选择“Local”;若远程调试,选择“SSH Interpreter”(输入Linux服务器IP、用户名、密码,选择PHP可执行文件路径,如/usr/bin/php)。
  3. 确保解释器路径正确(如/usr/bin/php),点击“OK”保存。
4.2 配置Debug端口
  1. 进入File > Settings > PHP > Debug
  2. 在“Debug port”中输入9003(与php.ini中的xdebug.client_port一致),点击“Apply”。
4.3 配置服务器映射
  1. 进入File > Settings > PHP > Servers
  2. 点击“+”添加新服务器,填写:
    • Name:服务器名称(如“Remote Server”)。
    • Host:服务器域名/IP(如localhost192.168.1.100)。
    • Port:Web端口(如80443)。
    • Debugger:选择“Xdebug”。
  3. 勾选“Use path mappings”,将远程服务器项目路径(如/var/www/html/myproject)映射到本地项目路径(如/home/user/projects/myproject),点击“OK”。

5. 启动调试会话

  1. 在PHPStorm中打开项目,点击顶部工具栏的电话听筒图标(Start Listening for PHP Debug Connections),启动调试监听。
  2. 在代码中设置断点(点击行号左侧,出现红色圆点)。
  3. 触发调试:
    • 方式1(自动触发):在浏览器中访问项目URL(如http://localhost/myproject/index.php),Xdebug会自动连接PHPStorm。
    • 方式2(Cookie触发):在URL后添加?XDEBUG_SESSION_START=PHPSTORM(如http://localhost/myproject/index.php?XDEBUG_SESSION_START=PHPSTORM),适用于手动触发。
  4. 当代码执行到断点时,PHPStorm会暂停并显示调试面板,可查看变量、调用堆栈、逐步执行(F7/F8)等。

常见问题排查

  • 断点不生效:检查path mappings是否正确,确保本地与远程路径一致;确认xdebug.start_with_request=yes已启用。
  • 无法连接:检查防火墙是否放行9003端口(sudo ufw allow 9003);确认xdebug.client_host为PHPStorm所在机器的IP。
  • 版本兼容:确保Xdebug版本与PHP版本匹配(如Xdebug 3.x支持PHP 7.2+,Xdebug 2.x仅支持PHP 5.6-7.4)。

通过以上步骤,即可在Linux环境下使用PHPStorm完成Xdebug配置,实现PHP代码的高效调试。

0