确保CentOS系统已安装PHP(建议7.2及以上版本)、PHP-FPM(若使用Nginx)或Apache(若使用Apache),并具备gcc、php-devel、php-pear等开发工具(用于编译Xdebug)。
安装Xdebug
通过PECL安装(推荐)或手动编译:
sudo yum install php-pear php-devel gcc autoconf sudo pecl install xdebug 若PECL安装失败,可手动下载对应版本的Xdebug(如xdebug-3.2.0.tgz),解压后执行:
phpize ./configure --enable-xdebug make sudo cp modules/xdebug.so /usr/lib64/php/modules/ 修改php.ini配置
编辑PHP配置文件(根据PHP版本路径可能为/etc/php.ini、/etc/php/8.1/cli/php.ini或/etc/php/8.1/fpm/php.ini),添加以下内容:
[Xdebug] zend_extension=xdebug.so xdebug.mode=debug xdebug.client_host=127.0.0.1 # 本地机器IP(若PhpStorm在远程服务器,改为服务器IP) xdebug.client_port=9003 # 建议使用9003(避免与旧版冲突) xdebug.start_with_request=yes # 自动启动调试(或设为"trigger",通过URL参数触发) xdebug.idekey=PHPSTORM # IDE标识 注意:若使用PHP-FPM,需重启PHP-FPM;若使用Apache,需重启Apache:
sudo systemctl restart php-fpm # 或 sudo systemctl restart httpd 验证Xdebug安装
创建info.php文件(<?php phpinfo(); ?>),在浏览器访问,搜索“Xdebug”,确认扩展已加载且配置正确。
设置PHP解释器
打开PhpStorm → File → Settings(或Ctrl+Alt+S)→ Languages & Frameworks → PHP → CLI Interpreter。
点击齿轮图标→Add,选择Local Path to Interpreter,浏览至CentOS上的PHP可执行文件(如/usr/bin/php或/usr/sbin/php-fpm),点击OK保存。
配置服务器映射
进入Settings → Languages & Frameworks → PHP → Servers,点击+添加服务器:
CentOS-Debug);192.168.1.100);80或443);Xdebug;/home/user/project);/var/www/html/project)。关键:路径映射必须准确,否则断点无法命中。
配置调试监听
进入Run → Edit Configurations,点击+→PHP Web Page:
CentOS-Debug);/index.php);Xdebug。OK保存配置。开启PhpStorm监听
点击PhpStorm右上角的电话图标(Start Listening for PHP Debug Connections),图标变为绿色表示正在监听。
触发调试
http://192.168.1.100/index.php?XDEBUG_SESSION_START=PHPSTORM 或安装浏览器插件(如Xdebug Helper),一键开启调试。xdebug.start_with_request=yes,无需额外参数,直接访问URL即可触发。调试操作
当代码执行到断点时,PhpStorm会进入调试模式,可使用工具栏按钮控制:
F9):继续执行;F8):逐行执行(不进入函数);F7):进入函数内部;Shift+F8):跳出当前函数;path mappings是否正确、xdebug.client_host是否为本地IP、防火墙是否放行9003端口(sudo firewall-cmd --add-port=9003/tcp --permanent→sudo firewall-cmd --reload)。zend_extension=xdebug.so路径正确,且php.ini文件为当前使用的配置(可通过php --ini查看)。通过以上步骤,即可在CentOS环境中使用PhpStorm高效调试PHP代码,实现断点暂停、变量查看、流程控制等功能。