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. 启动调试会话:触发与控制
?XDEBUG_SESSION_START=PHPSTORM
例如:http://your-debian-server/myproject/index.php?XDEBUG_SESSION_START=PHPSTORM5. 常见问题排查技巧
9003端口通信(sudo ufw allow 9003/tcp),并检查本地机器防火墙是否放行。/src/controllers对应服务器/var/www/html/myproject/src/controllers)。php -m | grep xdebug确认扩展是否加载,若未加载,检查php.ini中的zend_extension路径是否正确,或尝试重启服务器。php -v和xdebug_info()(在PHP脚本中调用)查看版本信息。