首先确保CentOS系统已安装PHP及PHP-FPM,再通过以下命令安装Xdebug:
# 安装开发工具和依赖库
sudo yum install gcc php-devel php-pear autoconf -y
# 下载并编译安装Xdebug(以最新稳定版为例,可通过xdebug.org官网确认版本)
wget https://xdebug.org/files/xdebug-3.3.0.tgz
tar xvf xdebug-3.3.0.tgz
cd xdebug-3.3.0
phpize
./configure --enable-xdebug
make
sudo cp modules/xdebug.so /usr/lib64/php/modules/xdebug.so
编辑/etc/php.d/xdebug.ini(若不存在则新建),添加以下配置:
[xdebug]
zend_extension=xdebug.so
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_host=<你的本地计算机IP> # 如192.168.1.100
xdebug.client_port=9003 # 选择一个未被占用的端口(如9003)
xdebug.idekey=PHPSTORM
注:
xdebug.mode=debug是Xdebug 3.x的必用参数,替代旧版的xdebug.remote_enable=1;client_host需替换为运行PhpStorm的本地机器IP。
File > Settings > PHP(或PhpStorm > Preferences > PHP)。CLI Interpreter右侧的...,选择Add。SSH Interpreter,输入CentOS服务器的IP、用户名(如root),点击Next。Interpreter路径(通常为/usr/bin/php),点击Finish。Run > Edit Configurations,点击+选择PHP Web Page。Server标签页:
+添加新服务器,输入名称(如CentOS_Remote)。Host为CentOS服务器IP,Port为80(或443,根据实际情况调整)。Use path mappings,将本地项目路径(如/Users/username/project)映射到远程路径(如/var/www/html)。Debugger标签页,选择Xdebug。OK保存配置。http://your_server_ip/your_script.php?XDEBUG_SESSION_START=PHPSTORM
或使用浏览器扩展(如Xdebug Helper for Chrome)开启调试模式。若本地计算机与CentOS服务器不在同一网络,或防火墙限制了端口访问,可通过SSH隧道转发Xdebug端口:
# 在本地计算机执行(将远程9003端口转发到本地9003端口)
ssh -L 9003:localhost:9003 root@your_server_ip
然后修改PhpStorm中的client_host为localhost,client_port保持9003,重启调试监听即可。
firewall-cmd --zone=public --add-port=9003/tcp --permanent
firewall-cmd --reload
注意事项:
setsebool -P httpd_can_network_connect 1
netstat -tulnp | grep 9003检查端口监听状态,或查看PhpStorm的Debug窗口日志排查问题。