首先确保Linux服务器上安装了PHP及对应的开发工具(如php-devel、autoconf),然后通过PECL或源码编译安装Xdebug:
# 安装必要依赖(以CentOS为例,其他发行版替换为对应包管理器)
sudo yum install -y gcc php-devel php-pear autoconf
# 通过PECL安装Xdebug(推荐,自动处理编译流程)
sudo pecl install xdebug
# 或手动编译(若PECL不可用)
# wget http://xdebug.org/files/xdebug-3.2.0.tgz
# tar xvf xdebug-3.2.0.tgz
# cd xdebug-3.2.0
# phpize
# ./configure --enable-xdebug
# make
# sudo cp modules/xdebug.so /usr/lib64/php/modules/xdebug.so # 路径根据实际调整
配置php.ini文件:
编辑PHP配置文件(路径可通过php --ini查看,如/etc/php.ini或/etc/php.d/xdebug.ini),添加以下关键参数:
zend_extension=xdebug.so # 加载Xdebug扩展
xdebug.mode=debug # 启用调试模式(Xdebug 3+必需)
xdebug.client_host=<你的本地计算机IP> # PhpStorm所在机器的IP
xdebug.client_port=9003 # 调试端口(默认9003,需与PhpStorm一致)
xdebug.start_with_request=yes # 自动启动调试(可选:trigger/yes)
xdebug.idekey=PHPSTORM # IDE标识(需与PhpStorm设置一致)
重启Web服务使配置生效:
# Apache
sudo systemctl restart httpd
# Nginx + PHP-FPM
sudo systemctl restart nginx php-fpm
File > Settings > Languages & Frameworks > PHP。CLI Interpreter右侧的...,选择Add。SSH Interpreter,输入Linux服务器的IP、用户名及密码(或密钥)。Interpreter栏指定远程PHP路径(如/usr/bin/php),点击OK保存。Run > Edit Configurations,点击+选择PHP Web Page。Server标签页:
+添加新服务器,输入别名(如RemoteLinux)。Host为Linux服务器IP,Port为Web服务端口(如80/443)。Use path mappings,将本地项目目录映射到远程目录(如本地/home/user/project → 远程/var/www/html/project)。Debugger标签页,确认Xdebug已选中,Port与php.ini中的client_port一致(如9003)。点击Validate Debugger Configuration,确保PhpStorm能连接到远程服务器并识别Xdebug。
http://your-server-ip/app.php?XDEBUG_SESSION_START=PHPSTORM当代码执行到断点时,PhpStorm会自动切换至调试视图,可进行以下操作:
Resume Program(F9)或工具栏绿色三角形。Step Into(F7)进入函数内部,Step Over(F8)跳过函数,Step Out(Shift+F8)返回上层。Variables面板中查看当前作用域的变量值。Debug面板中查看函数调用链。client_port(如9003)的入站流量(sudo firewall-cmd --add-port=9003/tcp --permanent && sudo firewall-cmd --reload)。Path mappings是关键,若映射错误,PhpStorm无法定位断点(需确保本地与远程目录一一对应)。xdebug.remote_enable改为xdebug.mode=debug),需根据版本调整。xdebug.log=/tmp/xdebug.log),查看具体错误信息。通过以上步骤,即可在Linux服务器上使用PhpStorm实现远程调试,快速定位和修复PHP代码问题。