debian

如何在Debian上配置phpstorm远程调试

小樊
46
2025-10-08 19:29:54
栏目: 编程语言

1. 准备工作

确保远程Debian服务器已安装PHP(如php-cliphp-fpmphp-apache)和Composer(可选,用于依赖管理)。可通过以下命令快速安装基础环境:

sudo apt update && sudo apt install php php-cli php-fpm composer -y

2. 安装Xdebug扩展

通过PECL(推荐,适配最新PHP版本)或APT安装Xdebug:

方法一:PECL安装(适用于自定义编译的PHP)

sudo pecl install xdebug

方法二:APT安装(适用于系统默认PHP包)

sudo apt install php-xdebug -y

安装完成后,通过php -m | grep xdebug验证扩展是否加载。

3. 配置Xdebug参数

编辑PHP配置文件(根据PHP运行模式选择对应文件,如FPM用/etc/php/8.2/fpm/php.ini,CLI用/etc/php/8.2/cli/php.ini):

sudo nano /etc/php/8.2/fpm/php.ini

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

[xdebug]
; 加载Xdebug扩展(路径可通过`php -i | grep extension_dir`获取)
zend_extension=xdebug.so
; 开启调试模式(Xdebug 3+必需)
xdebug.mode=debug
; 指定IDE监听的IP(需替换为本地机器IP,如192.168.1.100)
xdebug.client_host=192.168.1.100
; 指定IDE监听的端口(默认9003,需与PHPStorm一致)
xdebug.client_port=9003
; 自动启动调试(无需手动传递参数)
xdebug.start_with_request=yes
; IDE标识(需与PHPStorm配置一致)
xdebug.idekey=PHPSTORM

保存后重启PHP服务:

sudo systemctl restart php8.2-fpm  # 若使用Apache,替换为`sudo systemctl restart apache2`

4. 配置PHPStorm

4.1 添加远程服务器

  1. 打开PHPStorm,进入File > Settings > Languages & Frameworks > PHP > Servers
  2. 点击+添加服务器,填写:
    • Name:自定义名称(如Debian-Remote);
    • Host:远程服务器IP(如192.168.1.100);
    • Port:HTTP端口(如80443);
    • Debugger:选择Xdebug
    • (可选)勾选Use path mappings,将远程项目路径(如/var/www/html/myproject)映射到本地项目路径(如/home/user/myproject)。
  3. 点击OK保存。

4.2 配置调试环境

  1. 进入Run > Edit Configurations,点击+添加PHP Remote Debug
  2. 填写:
    • Name:自定义名称(如Debian-Debug);
    • Server:选择上一步添加的服务器;
    • Debugger mode:选择Attach to remote host
    • IDE keyPHPSTORM(与Xdebug配置一致)。
  3. 点击OK保存。

4.3 验证PHP解释器

  1. 进入File > Settings > Languages & Frameworks > PHP
  2. 点击...添加远程解释器,选择SSH Interpreter,输入远程服务器IP、用户名及密码/密钥。
  3. Interpreter栏选择远程PHP路径(如/usr/bin/php),点击Finish

5. 启动调试会话

  1. 在PHPStorm中打开项目,点击顶部工具栏的虫子图标(或按Shift+F9)启动监听。
  2. 在代码中设置断点(点击行号左侧)。
  3. 在浏览器中访问远程项目(如http://192.168.1.100/myproject/index.php),触发断点。
  4. PHPStorm会自动暂停执行,可通过调试工具栏(单步执行、查看变量、表达式等)进行调试。

6. 常见问题排查

通过以上步骤,即可在Debian服务器上完成PHPStorm的远程调试配置,实现本地IDE与远程代码的联动调试。

0
看了该问题的人还看了