温馨提示×

phpstorm在Ubuntu如何调试代码

小樊
57
2025-09-01 03:41:30
栏目: 编程语言

1. 安装Xdebug扩展
在Ubuntu终端中执行以下命令安装Xdebug(根据PHP版本调整包名,如php7.4-xdebugphp8.1-xdebug等):

sudo apt-get update
sudo apt-get install php-xdebug

安装完成后,通过php -v命令确认Xdebug已加载(输出中应包含“with Xdebug”字样)。

2. 配置Xdebug参数
编辑PHP配置文件(根据PHP运行模式选择路径,如Apache用/etc/php/{version}/apache2/php.ini,PHP-FPM用/etc/php/{version}/fpm/php.ini),在文件末尾添加以下配置:

zend_extension=xdebug.so
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port=9003
xdebug.start_with_request=yes
  • zend_extension:指向Xdebug扩展文件(Ubuntu中通常为/usr/lib/php/{version}/xdebug.so,可通过php -i | grep xdebug.so查找准确路径);
  • xdebug.mode=debug:启用调试模式;
  • xdebug.client_host:调试客户端(PhpStorm)的IP地址(本地调试用127.0.0.1);
  • xdebug.client_port:调试端口(默认9003,需与PhpStorm配置一致);
  • xdebug.start_with_request=yes:每次请求都启动调试。

3. 配置PhpStorm

  • 设置PHP解释器:打开File > Settings > Languages & Frameworks > PHP,点击“Interpreter”右侧的“…”按钮,选择本地PHP解释器(如/usr/bin/php),点击“OK”保存。
  • 添加Servers配置:在Languages & Frameworks > PHP > Servers中点击“+”,输入服务器名称(如“Local Apache”),设置“Host”(如localhost)、“Port”(如80),并勾选“Use path mappings”(确保本地项目路径与服务器路径对应,如本地/var/www/html映射到服务器/var/www/html)。
  • 配置Debug设置:进入Run > Edit Configurations,点击“+”,选择“PHP Web Page”,填写“Name”(如“Xdebug Debug”),选择已添加的Server,确保“Debugger”为“Xdebug”,点击“OK”保存。

4. 启动调试会话

  • 在PhpStorm中打开需要调试的PHP项目,在代码行号左侧点击设置断点(红色圆圈标识)。
  • 点击工具栏上的“绿色电话图标”(或使用快捷键Shift+F9)启动调试会话。
  • 在浏览器中访问项目URL(如http://localhost/your_project/index.php),触发断点后,PhpStorm会自动暂停执行,进入调试模式。

5. 调试操作

  • 查看变量:调试模式下,左侧“Variables”面板显示当前作用域的变量值;
  • 逐步执行:使用调试工具栏的“Step Over”(F8,执行当前行)、“Step Into”(F7,进入函数内部)、“Step Out”(Shift+F8,跳出当前函数)控制执行流程;
  • 查看调用堆栈:“Debug”面板的“Call Stack”标签页显示函数调用链,帮助定位代码执行路径。

常见问题排查

  • 若断点未生效,检查Xdebug配置中的client_host是否为127.0.0.1(远程调试需改为服务器IP),client_port是否与PhpStorm一致;
  • 确认Web服务器已重启(Apache用sudo systemctl restart apache2,Nginx+PHP-FPM用sudo systemctl restart php{version}-fpm && sudo systemctl restart nginx);
  • 通过php -m | grep xdebug确认Xdebug扩展已加载,phpinfo()页面检查Xdebug配置是否生效。

0