PhpStorm在CentOS上的远程调试技巧
首先确保CentOS系统已安装PHP及PHP-FPM,随后通过以下步骤安装Xdebug:
sudo yum install gcc php-devel php-pear autoconfwget http://xdebug.org/files/xdebug-2.5.0.tgz
tar xvzf xdebug-2.5.0.tgz
cd xdebug-2.5.0
phpize
./configure --enable-xdebug
make
sudo cp modules/xdebug.so /usr/lib64/php/modules/xdebug.so
/etc/php.ini,添加Xdebug配置:zend_extension=/usr/lib64/php/modules/xdebug.so
xdebug.remote_enable=1
xdebug.remote_port=9003 # 建议使用非默认端口(如9003)避免冲突
xdebug.idekey=PHPSTORM
xdebug.remote_connect_back=1 # 自动获取客户端IP(适用于动态IP场景)
sudo systemctl restart php-fpm设置PHP解释器:
进入File > Settings > Languages & Frameworks > PHP > CLI Interpreter,点击“+”选择“SSH Interpreter”,输入CentOS服务器的IP、用户名及密码,选择PHP可执行文件路径(如/usr/bin/php),并在“Additional Options”中添加:
-xdebug.start_with_request=yes -xdebug.client_host=your_local_ip -xdebug.client_port=9003
(your_local_ip替换为本地计算机的IP地址)
添加调试服务器:
进入Run > Edit Configurations,点击“+”选择“PHP Web Page”,配置如下:
http://your_server_ip:9003);/home/user/project)映射到远程服务器路径(如/var/www/html/project)http://your_server_ip:9003/your_script.php?XDEBUG_SESSION_START=PHPSTORM若远程服务器位于公网或需要加密通信,可通过SSH隧道将远程Xdebug端口转发到本地:
ssh -L 9001:localhost:9003 user@your_server_ip9003端口转发到本地9001端口);localhost,“Port”改为90019003):firewall-cmd --zone=public --add-port=9003/tcp --permanent
firewall-cmd --reload
9000端口被占用,建议修改Xdebug端口(如9003)并同步更新PhpStorm配置;xdebug.remote_autostart=1可确保每次请求都自动启动调试,避免手动触发