phpstorm在Ubuntu中如何进行远程调试
1. 准备工作
确保Ubuntu服务器已安装PHP(如PHP 8.1+)和Web服务器(Apache/Nginx),并具备SSH访问权限;本地机器安装PhpStorm(2025.x及以上版本)。
2. 在Ubuntu服务器上安装Xdebug
通过终端执行以下命令安装Xdebug扩展:
sudo apt-get update
sudo apt-get install php-xdebug
安装完成后,Xdebug会自动集成到PHP环境中,但需进一步配置。
3. 配置Xdebug参数
编辑PHP配置文件(根据PHP运行模式选择路径,如Apache用/etc/php/8.1/apache2/php.ini,PHP-FPM用/etc/php/8.1/fpm/php.ini),在文件末尾添加以下配置:
[xdebug]
zend_extension=xdebug.so ;
加载Xdebug扩展(路径可通过`php -i | grep extension_dir`确认)
xdebug.mode=debug ;
启用调试模式
xdebug.client_host=192.168.1.100 ;
本地机器的IP地址(需替换为实际IP,用于Xdebug连接)
xdebug.client_port=9003 ;
调试端口(默认9003,需与PhpStorm设置一致)
xdebug.start_with_request=yes ;
自动启动调试(可选:trigger/yes,推荐yes简化操作)
xdebug.idekey=PHPSTORM ;
IDE标识(需与PhpStorm配置一致)
xdebug.log=/tmp/xdebug.log ;
可选:记录调试日志(排查问题时启用)
保存文件后,重启Web服务器使配置生效:
# Apache
sudo systemctl restart apache2
# Nginx + PHP-FPM
sudo systemctl restart php8.1-fpm &
&
sudo systemctl restart nginx
4. 在PhpStorm中配置远程解释器
打开PhpStorm,进入File >
Settings >
Languages &
Frameworks >
PHP,点击右上角齿轮图标→Add,选择Remote类型:
- Interpreter:输入远程服务器的PHP路径(如
/usr/bin/php,通过which php获取); - Sync folders:设置本地项目路径(如
/home/user/project)与远程服务器项目路径(如/var/www/html/my_project)的映射; - 点击
Test Connection验证连接,成功后点击OK保存。
5. 配置PHP Servers
进入File >
Settings >
Languages &
Frameworks >
PHP >
Servers,点击+添加新服务器:
- Name:自定义名称(如
Remote Server); - Host:远程服务器的IP地址或域名(如
192.168.1.100); - Port:Web服务器端口(HTTP用80,HTTPS用443);
- Debugger:选择
Xdebug; - 勾选
Use path mappings,确保本地与远程路径正确映射(如本地/home/user/project→远程/var/www/html/my_project); - 点击
OK保存。
6. 配置调试监听端口
进入File >
Settings >
Languages &
Frameworks >
PHP >
Debug,确认Debug port设置为与Xconfig中xdebug.client_port一致的9003;切换至DBGp Proxy标签,设置:
- IDE key:
PHPSTORM(与Xdebug配置一致); - Host:远程服务器IP(如
192.168.1.100); - Port:
9001(默认,可与Xdebug的client_port不同);
点击OK保存。
7. 启动调试会话
- 在PhpStorm中打开需要调试的PHP文件,点击行号左侧设置断点(红色圆圈);
- 点击顶部工具栏的电话听筒图标(或使用快捷键
Shift+F9)启动调试监听; - 在浏览器中访问远程项目,触发断点:
- 方式一:手动添加参数(适用于URL访问),如
http://192.168.1.100/my_script.php?XDEBUG_SESSION_START=PHPSTORM; - 方式二:安装浏览器扩展(如Xdebug Helper),点击扩展图标切换至
Debug模式后访问。
- 方式一:手动添加参数(适用于URL访问),如
8. 验证与调试
当代码执行到断点时,PhpStorm会自动暂停,显示Debug工具窗口。可通过窗口查看:
- Variables:当前变量值;
- Call Stack:调用堆栈;
- Console:执行控制台;
- 使用
Step Over(F8)、Step Into(F7)、Step Out(Shift+F8)等按钮进行单步调试。
常见问题排查
- 端口冲突:若
9003端口被占用,修改Xconfig和PhpStorm中的client_port为其他端口(如9007),并同步更新; - 路径映射错误:确保本地与远程路径一一对应,可通过
Validate remote environment(在Servers配置中)验证; - Xdebug未加载:通过
php -m | grep xdebug确认扩展是否加载,未加载则检查php.ini路径和zend_extension配置; - 防火墙拦截:确保Ubuntu服务器的防火墙允许
client_port(如9003)的入站连接(sudo ufw allow 9003/tcp)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: phpstorm在Ubuntu中如何进行远程调试
本文地址: https://pptw.com/jishu/735989.html
