首先确保Ubuntu系统已安装PHP和Xdebug。通过终端运行以下命令安装Xdebug:
sudo apt update
sudo apt install php-xdebug # 若使用特定PHP版本(如8.1),替换为php8.1-xdebug
安装完成后,Xdebug会自动加载,可通过php -v命令验证(输出中应包含“with Xdebug”字样)。
找到当前PHP版本的php.ini文件(路径可通过php --ini命令查看,通常为/etc/php/{version}/cli/php.ini或/etc/php/{version}/fpm/php.ini),用文本编辑器(如nano)打开并添加以下配置:
zend_extension=xdebug.so
xdebug.mode=debug
xdebug.client_host=127.0.0.1 # 本地IP,若远程调试需改为本地计算机IP
xdebug.client_port=9003 # Xdebug默认端口(需与PHPStorm一致)
xdebug.start_with_request=yes # 自动启动调试(可选:trigger/yes)
保存文件后,重启PHP和Web服务器使配置生效:
# 若使用PHP-FPM
sudo systemctl restart php{version}-fpm # 如php8.1-fpm
# 若使用Apache
sudo systemctl restart apache2
# 若使用Nginx
sudo systemctl restart nginx
打开PHPStorm,进入File > Settings > Languages & Frameworks > PHP,点击“CLI Interpreter”右侧的齿轮图标,选择“Add”。选择“Local Path to Interpreter”,浏览至Ubuntu系统的PHP可执行文件(通常为/usr/bin/php),点击“OK”保存。
进入Settings > Languages & Frameworks > PHP > Servers,点击“+”添加新服务器:
localhost(本地调试)或远程服务器IP(远程调试);进入Settings > Languages & Frameworks > PHP > Debug,确保:
9003(与php.ini中的client_port一致);若调试远程服务器上的代码,需将本地项目路径与远程服务器路径关联。进入Servers配置页,选中刚添加的服务器,点击“Mappings”标签:
/home/user/project);/var/www/html/project)。在PHPStorm中打开需要调试的PHP文件,在代码行号左侧单击,设置断点(红色圆点)。可设置多个断点,调试时会依次暂停。
点击PHPStorm右上角的绿色虫子图标(Start Listening for PHP Debug Connections),或按Shift+F9启动调试。此时PHPStorm会等待调试请求。
XDEBUG_SESSION_START=PHPSTORM参数(如http://localhost/project?XDEBUG_SESSION_START=PHPSTORM),或使用浏览器插件(如Xdebug Helper)开启调试模式;XDEBUG_SESSION=1(如XDEBUG_SESSION=1 php script.php)。当代码执行到断点时,PHPStorm会切换至调试视图,可进行以下操作:
9003端口流量(sudo ufw allow 9003);ping命令验证);php.ini中的xdebug.mode是否为debug,client_host是否正确,以及PHPStorm的Debug端口是否与php.ini一致。