ssh terminal 选项不显示是因为未启用 ssh remote run 插件或未配置有效的 sftp/ssh deployment;连接卡顿或权限拒绝源于凭证未按 phpstorm 要求配置(如 host 不带 ssh://、端口显式填写、私钥需 pem 格式且路径正确);终端默认工作目录为 ~,需手动 cd 或配置启动命令自动进入项目路径。

SSH Terminal 选项不显示?先检查插件和 Deployment 配置
Tools → Start SSH session 这个菜单项默认是隐藏的,只有两个条件同时满足才会出现:SSH Remote Run 插件已启用,且至少配置了一个有效的 Deployment(类型必须是 SFTP 或 SSH)。
常见错误现象:
-
Settings → Plugins里没搜到或没勾选SSH Remote Run -
Deployment配置里Auth type设成了None,而不是Key pair (OpenSSH)或Password - 私钥用了 OpenSSH 9.0+ 默认生成的 new-format(以
-----BEGIN OPENSSH PRIVATE KEY-----开头),PhpStorm 2025.3 及更早版本不识别,需转成 PEM:ssh-keygen -p -m PEM -f ~/.ssh/id_rsa
连接后卡在 “Connecting…” 或报 “Permission denied”
这不是网络不通,而是 PhpStorm 没走你本地 terminal 的 ssh 配置,它用自己的 SSH client 实现,只认 Deployment 里填的凭证。
实操建议:
-
Deployment → Connection中的User name和Host必须和你在命令行里执行ssh user@host时完全一致 - 如果服务器改过 SSH 端口(比如
2222),Port字段必须显式填上,不能留空或填22 - 用密钥时,
Private key file路径必须指向可读文件(chmod 600 ~/.ssh/my_key是必须的),且不能是 symlink - 别在
Host里写ssh://user@host——前缀会导致连接失败,只填 host 或 IP
终端里执行 php -v 报错?PATH 没包含 PHP
PhpStorm 的 SSH Terminal 默认工作目录是用户家目录(~),不会自动 cd 到你项目映射的远程路径,也不会继承你的 shell profile 里的 PATH。
常见表现:
-
php -v提示command not found -
which php返回空,但/usr/bin/php -v能正常执行 -
git status看不到刚改的代码——因为当前目录不是你部署的项目路径
解决办法:
- 首次打开终端后,手动执行
cd /var/www/html/myproject(换成你实际的Deployment path on server) - 想每次自动进入,可在
Settings → Tools → Terminal的Shell path后加启动命令,例如:bash -c "cd /var/www/html/myproject && exec bash" - 补全 PATH:执行
export PATH="/usr/bin:/usr/local/bin:$PATH",或直接用绝对路径调用二进制,如/usr/bin/php index.php
为什么改了代码,终端里 git status 看不到?
根本原因不是 Git 本身出问题,而是终端当前工作目录不在你部署的项目根目录下,或者你根本没在那个目录初始化 Git 仓库。
注意点:
-
Deployment → Mappings标签页只影响文件上传/下载,不影响终端的cwd(current working directory) - 即使你配置了
Local Path → Deployment path on server映射,终端也不会自动跳过去 - 如果你用的是 Docker 或非标准部署路径(如
/opt/app),务必确认该路径下存在.git目录 - 如果远程项目是通过
rsync或手动拷贝部署的,可能压根没带.git,此时git status必然为空
最易被忽略的一点:你可能以为自己在“项目里”,其实终端打开时默认落在 ~,而你上次 cd 的路径并没有被记住——每次新开 SSH Terminal 都是全新会话。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











