debian

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

小樊
43
2025-09-01 13:26:52
栏目: 编程语言

PHPStorm在Debian中进行远程调试的完整步骤

1. 前提准备

确保远程Debian服务器已安装PHP(含php-cli)和Web服务器(如Apache/Nginx),并具备sudo权限用于安装扩展。

2. 安装Xdebug扩展

在远程服务器上执行以下命令安装Xdebug(根据PHP版本调整包名,如php8.2-xdebug):

sudo apt update
sudo apt install php-xdebug  # 或指定版本,如 php8.2-xdebug

安装完成后,Xdebug会自动加载,可通过php -m | grep xdebug验证是否安装成功。

3. 配置Xdebug的php.ini文件

编辑远程服务器的PHP配置文件(通过php --ini查找路径,通常为/etc/php/8.2/cli/php.ini/etc/php/8.2/apache2/php.ini),在文件末尾添加以下配置:

[xdebug]
zend_extension=xdebug.so          # 加载Xdebug扩展(路径可能为绝对路径,如/usr/lib/php/20220829/xdebug.so)
xdebug.mode=debug                 # 启用调试模式
xdebug.start_with_request=yes     # 自动启动调试(或设为"trigger",通过GET/POST参数触发)
xdebug.client_host=你的本地IP     # 本地机器的IP地址(如192.168.1.100,需确保服务器可访问)
xdebug.client_port=9003           # 调试端口(默认9003,需与PHPStorm一致)
xdebug.idekey=PHPSTORM            # IDE标识符(需与PHPStorm配置一致)

修改后重启Web服务器使配置生效:

sudo systemctl restart apache2    # 或 sudo systemctl restart nginx

4. 配置PHPStorm的远程解释器

  1. 打开PHPStorm,进入File > Settings > PHP(或PhpStorm > Preferences > PHP)。
  2. 点击右上角齿轮图标,选择Add,在弹出窗口中选择SSH Interpreter
  3. 输入远程服务器的主机名/IP端口(默认22)、用户名,选择认证方式(密码或SSH密钥)。
  4. PHPStorm会自动检测远程PHP路径(如/usr/bin/php),确认后点击OK保存。

5. 配置远程项目部署(SFTP)

  1. 进入File > Settings > Build, Execution, Deployment > Deployment,点击+添加新配置,选择SFTP
  2. Connection标签页中,填写远程服务器的主机名端口用户名,选择认证方式(密码或密钥)。
  3. 点击Test SFTP connection验证连接,成功后点击OK
  4. 切换到Mappings标签页,设置本地项目目录(如/Users/username/project)与远程服务器目录(如/var/www/html/project)的映射关系。
  5. 勾选Automatic upload(可选),实现本地保存时自动同步到远程服务器。

6. 配置PHPStorm调试环境

  1. 进入Run > Edit Configurations,点击+添加PHP Remote Debug配置。
  2. Server下拉菜单中选择之前配置的远程服务器(如Debian Server),确保Port(9003)与php.ini中的client_port一致。
  3. 点击OK保存配置。
  4. 开启调试监听:点击PHPStorm右上角的电话图标(或按Shift+F9),此时图标变为绿色表示正在监听。

7. 触发远程调试

  1. 在PHP代码中设置断点(点击行号左侧)。
  2. 在浏览器中访问远程项目时,添加调试参数触发断点:
    • 方式1:手动添加?XDEBUG_SESSION_START=PHPSTORM到URL(如http://example.com/index.php?XDEBUG_SESSION_START=PHPSTORM)。
    • 方式2:使用浏览器插件(如Xdebug Helper for Chrome/Firefox),一键开启调试模式。
  3. 刷新浏览器页面,PHPStorm会自动捕获断点,进入调试界面,可查看变量、调用堆栈等信息。

注意事项

0
看了该问题的人还看了