远程调试 Ubuntu 服务器 PHP 需安装 Xdebug 并正确配置 php.ini、PhpStorm 服务器映射及防火墙端口;Laravel Blade 补全依赖 Laravel Idea 插件及 Blade files support;注解补全需配置 PHP Annotations 并注册命名空间;数据库结构查看可用 PhpStorm 内置 Database Tools。

远程调试 Ubuntu 服务器上的 PHP 代码该装什么
如果你的 PHP 项目跑在 Ubuntu 服务器上(比如 Nginx + PHP-FPM),本地开发却想直接断点调试,PHP Remote Debug 插件是刚需——但它本身只是“通道”,真正起作用的是 Xdebug 配置和 PhpStorm 的解释器绑定。
- 必须先在 Ubuntu 上装好
xdebug.so,并确保php.ini中启用zend_extension和正确配置xdubug.mode=debug、xdubug.client_host(指向你的本机 IP) - PhpStorm 里要通过
Settings > PHP > Servers添加服务器映射,路径必须和 Ubuntu 上的绝对路径完全一致,否则断点不命中 - 别只装插件就以为万事大吉:如果
xdebug.log显示连接被拒绝,大概率是 Ubuntu 防火墙(ufw)或 SELinux 拦了 9003 端口
Laravel 项目里 Blade 模板总补全不了怎么办
原生 PhpStorm 对 Blade 的支持很基础,Laravel Idea 是目前最稳的解法,它不是简单加几个 snippet,而是靠解析 routes/web.php、config/app.php 和模型关系来推导上下文。
- 装完后首次打开项目会触发索引,等右下角 “Laravel Idea indexing” 消失再写
@foreach才有变量类型提示 - 如果
@include('components.button')不跳转,检查是否启用了Blade files support(它是 Laravel Idea 的依赖项,但有时不会自动激活) - 避免同时装
Laravel Plugin和Laravel Idea:两者对路由注解的解析逻辑冲突,会导致Route::get跳转失效
写注解时老是拼错 @ORM\Column 怎么办
Doctrine、PHPStan、Psalm 的注解不是字符串,是 IDE 需要识别的语义单元。PHP Annotations 插件能解决 90% 的手误问题,但它依赖你提前注册注解类。
- 在
Settings > Languages & Frameworks > PHP > Annotations里手动添加Doctrine\ORM\Mapping命名空间,否则@Table补全不出来 - 输入
@后弹出的列表里如果没看到@Assert\NotBlank,说明symfony/validator的注解类没被扫描到,要检查composer.json是否已 require - 用
/** @var User $user */这种类型注解时,PHP Annotations会帮你高亮拼写错误,但不会校验User类是否存在——那是PHP Intelephense或内置引擎的事
数据库 SQL 写一半发现表结构记不清了
别切出去开 DBeaver 或 phpMyAdmin。Database Tools and SQL 是 PhpStorm 自带的,但默认关闭,且需要手动配数据源。
立即学习“PHP免费学习笔记(深入)”;
- 配好 MySQL 连接后,在 SQL 编辑器里敲
SELECT * FROM <code>users,光标停在users上按Ctrl+Click就能跳转到建表语句 - 如果表字段补全失效,检查是否勾选了
Enable database introspection(在数据源设置 > Options 页) - Ubuntu 上连 MySQL 8.0+ 时若报
Public Key Retrieval is not allowed,得在 JDBC URL 后加&allowPublicKeyRetrieval=true&useSSL=false
插件不是越多越好,Laravel Idea 和 PHP Annotations 这类深度解析型插件一旦开启,就会常驻内存做后台索引;如果项目里混着大量未加载的 Composer 包或 symlink 目录,它们反而会让 PhpStorm 卡在 “Indexing…” 状态。关掉不用的插件比装新插件更能提速。

















