温馨提示×

PHPStorm在Debian上如何进行远程调试

小樊
40
2025-11-07 14:05:42
栏目: 编程语言

PHPStorm在Debian上进行远程调试的步骤

1. 安装Xdebug扩展

在Debian服务器上,首先通过包管理器安装Xdebug(推荐使用系统仓库版本,避免兼容性问题):

sudo apt-get update
sudo apt-get install php-xdebug

安装完成后,Xdebug会自动集成到PHP环境中,但需进一步配置才能启用远程调试功能。

2. 配置Xdebug参数

编辑Debian上的PHP配置文件(根据PHP运行模式选择对应文件,如Apache用apache2/php.ini,PHP-FPM用fpm/php.ini):

sudo nano /etc/php/8.2/apache2/php.ini  # 示例路径,需替换为实际PHP版本

在文件末尾添加以下配置(关键参数说明见注释):

; 启用Xdebug扩展(路径可通过`php -i | grep extension_dir`确认)
zend_extension=xdebug.so

; 设置调试模式为"debug"(Xdebug 3+的默认模式)
xdebug.mode=debug

; 指定IDE监听的IP地址(需替换为PHPStorm所在电脑的局域网IP)
xdebug.client_host=192.168.1.100

; 指定IDE监听的端口(默认9003,需与PHPStorm配置一致)
xdebug.client_port=9003

; 自动启动调试会话(可选,若不想手动触发可开启)
xdebug.start_with_request=yes

; IDE识别密钥(需与PHPStorm中的设置一致)
xdebug.idekey=PHPSTORM

保存文件后,重启Web服务器(以Apache为例):

sudo systemctl restart apache2

3. 配置PHPStorm

3.1 添加PHP解释器

打开PHPStorm,进入File > Settings > Languages & Frameworks > PHP,点击CLI Interpreter右侧的齿轮图标,选择Add

  • 选择Remote > SSH Credentials,输入Debian服务器的IP、用户名(如root)和密码/密钥;
  • 点击...选择服务器上的PHP可执行文件(路径可通过which php命令获取,如/usr/bin/php);
  • 点击OK保存解释器配置。
3.2 配置调试服务器

进入File > Settings > Languages & Frameworks > PHP > Servers,点击+添加新服务器:

  • Name:自定义服务器名称(如Debian-Remote);
  • Host:输入Debian服务器的IP地址(如192.168.1.100);
  • Port:输入Web服务器端口(如Apache的80、Nginx的80);
  • 勾选Use path mappings,将本地项目目录(如/home/user/project)映射到服务器上的项目目录(如/var/www/html/project)。
3.3 配置调试端口

进入File > Settings > Languages & Frameworks > PHP > Debug,确保Debug port设置为9003(与Xdebug配置中的client_port一致)。

4. 启动调试会话

4.1 设置断点

在PHPStorm中打开需要调试的PHP文件,在代码行号左侧点击设置断点(红色圆点)。

4.2 开启监听

点击PHPStorm工具栏上的电话听筒图标(或按Shift + F9),启动调试监听。

4.3 触发调试

在浏览器中访问Debian服务器上的项目URL,可通过以下两种方式触发调试:

  • 方式1:直接访问(需开启xdebug.start_with_request=yes),Xdebug会自动连接PHPStorm;
  • 方式2:在URL后添加XDEBUG_SESSION_START=PHPSTORM参数(如http://192.168.1.100/project/index.php?XDEBUG_SESSION_START=PHPSTORM),强制启动调试会话。

当代码执行到断点时,PHPStorm会自动切换到调试视图,可查看变量、调用堆栈、执行单步调试(F7/F8)等操作。

注意事项

  • 防火墙设置:确保Debian服务器的防火墙允许9003端口的入站流量(如sudo ufw allow 9003);
  • 路径映射Use path mappings必须正确配置,否则PHPStorm无法定位服务器上的文件;
  • Xdebug版本:建议使用Xdebug 3+版本(Debian默认仓库通常提供最新版),若使用旧版需调整参数(如xdebug.remote_enable=1替换为xdebug.mode=debug)。

0