phpstorm在Debian上的远程调试技巧
导读:1. 准备工作:安装Xdebug扩展 在Debian服务器上,首先通过包管理器安装Xdebug(推荐使用系统仓库版本,避免兼容性问题): sudo apt update sudo apt install php-xdebug 安装完成后,...
1. 准备工作:安装Xdebug扩展
在Debian服务器上,首先通过包管理器安装Xdebug(推荐使用系统仓库版本,避免兼容性问题):
sudo apt update
sudo apt install php-xdebug
安装完成后,确认Xdebug是否被正确识别:
php -m | grep xdebug # 应输出"xdebug"
若未识别,可能需要手动指定扩展路径(如/usr/lib/php/20230831/xdebug.so
,路径可通过php -i | grep extension_dir
获取)。
2. 配置Xdebug:修改php.ini文件
找到Debian系统中PHP的配置文件(根据PHP运行模式选择,如Apache用/etc/php/8.2/apache2/php.ini
,PHP-FPM用/etc/php/8.2/fpm/php.ini
),在文件末尾添加以下关键配置:
zend_extension=xdebug.so
xdebug.mode=debug
xdebug.client_host=<
你的本地IP地址>
# 如192.168.1.100(PhpStorm所在机器)
xdebug.client_port=9003 # 默认端口,需与PhpStorm设置一致
xdebug.start_with_request=yes # 自动启动调试(或设为"trigger"通过cookie触发)
xdebug.idekey=PHPSTORM # IDE标识,需与PhpStorm一致
注意:若使用PHP-FPM,需重启PHP-FPM服务;若使用Apache,重启Apache服务:
sudo systemctl restart php8.2-fpm # 替换为你的PHP版本
sudo systemctl restart apache2
3. 配置PhpStorm:连接远程服务器与调试设置
- 添加远程服务器:进入
File > Settings > Languages & Frameworks > PHP > Servers
,点击"+“添加新服务器。填写服务器名称(如"Debian-Remote”),选择连接类型(通常为SFTP),输入服务器IP、SSH端口(默认22)、用户名及密码/密钥。在"Mappings"标签中,设置Deployment path(服务器项目路径,如/var/www/html/myproject
)和Local path(本地项目路径,如/home/user/myproject
),确保文件自动同步。 - 配置调试端口:进入
File > Settings > Languages & Frameworks > PHP > Debug
,确认"Debug port"设置为9003
(与Xdebug的client_port
一致)。勾选"Use path mappings",确保本地与远程路径正确关联。
4. 启动调试会话:触发与控制
- 开启监听:在PhpStorm顶部工具栏点击绿色电话图标(Start Listening for PHP Debug Connections),图标变为绿色表示正在监听。
- 触发调试:在浏览器中访问远程页面时,需附加调试参数。可通过Chrome/Firefox的Xdebug Helper插件一键开启,或手动在URL后添加:
例如:?XDEBUG_SESSION_START=PHPSTORM
http://your-debian-server/myproject/index.php?XDEBUG_SESSION_START=PHPSTORM
- 调试控制:当代码执行到断点时,PhpStorm会自动切换至调试视图。使用工具栏按钮(或快捷键)控制执行:
- F7:Step Into(进入函数内部)
- F8:Step Over(跳过函数)
- F9:Resume Program(继续执行)
- Alt+F8:Evaluate Expression(计算表达式)
5. 常见问题排查技巧
- 端口不通:确保Debian服务器防火墙允许
9003
端口通信(sudo ufw allow 9003/tcp
),并检查本地机器防火墙是否放行。 - 路径映射错误:若调试时无法准确定位断点,需检查"Deployment"设置中的Mappings标签,确保本地与远程路径一一对应(如本地
/src/controllers
对应服务器/var/www/html/myproject/src/controllers
)。 - Xdebug未加载:通过
php -m | grep xdebug
确认扩展是否加载,若未加载,检查php.ini
中的zend_extension
路径是否正确,或尝试重启服务器。 - 版本兼容性:确保Xdebug版本与PHP版本匹配(如PHP 8.2需使用Xdebug 3.2+),可通过
php -v
和xdebug_info()
(在PHP脚本中调用)查看版本信息。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: phpstorm在Debian上的远程调试技巧
本文地址: https://pptw.com/jishu/731791.html