PhpStorm 在 Ubuntu 环境下共享代码,核心难点通常不在“能不能连上”,而在于你到底需要文件同步、版本协作,还是像本地一样直接编辑远程目录。下面把 SFTP、Git、Samba 和 SSHFS 四种常见方案拆开说明,既保留具体配置步骤,也补上适用场景与选择依据,方便你按自己的开发方式直接落地。
先判断:你需要哪一种共享方式
如果你的目标只是把本地代码安全地同步到 Ubuntu 服务器,优先考虑 SFTP;如果是多人协作、跨设备开发,Git 更合适;如果设备都在同一局域网,且希望像访问共享文件夹一样使用项目目录,可以考虑 Samba;如果你想直接在 PhpStorm 里把远程目录当成本地目录编辑,SSHFS 会更顺手。
简单来说,这四种方式分别对应四类需求:
- SFTP:面向远程服务器同步,部署和回传都方便。
- Git:面向版本管理和团队协作,适合长期开发。
- Samba:面向局域网共享,适合同网段设备互通。
- SSHFS:面向直接编辑远程文件,强调“像本地目录一样使用”。
方案一:用 SFTP 在 PhpStorm 与 Ubuntu 之间同步代码
SFTP 基于 SSH,安全性和通用性都比较稳,通常也是 Ubuntu 服务器开发里最常见的做法。它适合“本地写代码,远程运行项目”的模式。

1. 先在 Ubuntu 上确认 SSH 服务可用
如果服务器还没有安装 SSH 服务,可以先执行:
sudo apt update && sudo apt install openssh-server
安装完成后,启动服务并设置开机自启:
sudo systemctl start ssh
sudo systemctl enable ssh
2. 在 PhpStorm 中添加 SFTP 连接
打开 File > Settings > Deployment > Configuration,点击“+”新建一条 SFTP 配置。这里需要填写以下信息:
Host:服务器 IPPort:默认22- 用户名
- 认证方式:密码或 SSH 密钥
如果可以选,优先使用 SSH 密钥认证,安全性更高。配置完后点击 Test SFTP connection 验证连接是否正常。
3. 设置本地目录与远程目录映射
在同一配置页面切到 Mappings 标签页,指定:
Local path:本地项目目录Deployment path on server:远程项目目录,例如/var/www/html/your_project
这一层映射决定了上传和下载时文件会落到哪里,建议在正式同步前确认目录没有配错。
4. 上传或下载代码
配置完成后,PhpStorm 通常会给出同步提示。你也可以手动执行:
Tools > Deployment > Upload to...:把本地代码上传到服务器Tools > Deployment > Download from...:把服务器代码拉回本地
如果你的工作模式是“本地编辑 + 远程运行”,SFTP 一般已经够用,而且维护成本最低。
方案二:用 Git 做跨设备或团队共享
如果你不只是“同步文件”,而是希望保留修改历史、支持多人协作、随时回滚版本,那么 Git 才是更稳妥的主线方案。它尤其适合个人多设备开发,或者团队共同维护同一套代码。
1. 在 Ubuntu 上安装 Git
sudo apt update && sudo apt install git
2. 配置提交身份信息
先设置全局用户名和邮箱:
git config --global user.name "Your Name"
git config --global user.email "your@email.com"
这些信息会写入提交记录中,团队协作时尤其重要。
3. 在 PhpStorm 里确认 Git 可执行文件
进入 File > Settings > Version Control > Git,检查 Path to Git executable 是否指向 Git 可执行文件,常见路径是:
/usr/bin/git
点击 Test,确认 PhpStorm 能正常调用 Git。
4. 初始化仓库并关联远程地址
在项目根目录右键选择 Git > Create Git Repository,先创建本地仓库。随后打开 Git > Manage Remotes...,点击“+”添加远程仓库,例如:
https://github.com/username/repo.git
远程名称通常设为 origin。
5. 提交并推送代码
右键项目选择 Git > Commit Directory,勾选本次修改的文件,填写提交说明后点击“Commit”;然后执行 Git > Push,把本地提交推送到远程仓库。
其他设备或团队成员只需要通过 git clone 克隆同一个仓库,就能拿到完整代码和历史记录。这也是 Git 相比单纯文件同步更有价值的地方。
方案三:局域网环境下用 Samba 共享项目目录
如果你的设备都在同一局域网,比如 Windows 办公机要访问 Ubuntu 主机上的代码目录,Samba 会比远程部署型方案更直接。它本质上是把 Ubuntu 目录以共享文件夹形式开放出来。

1. 安装 Samba
sudo apt update && sudo apt install samba
2. 编辑共享配置
打开配置文件:
sudo nano /etc/samba/smb.conf
在文件末尾追加共享配置。原始内容里这一段排版有些挤,实际建议按下面这种格式整理后再写入:
[project_share]
path = /path/to/your/project
available = yes
valid users = your_username
read only = no
browsable = yes
public = yes
writable = yes
其中:
/path/to/your/project替换为项目目录your_username替换为允许访问共享的用户名
3. 设置 Samba 账户密码并重启服务
为指定用户设置 Samba 专用密码:
sudo smbpasswd -a your_username
然后重启服务使配置生效:
sudo systemctl restart smbd
4. 在 PhpStorm 中访问共享目录
进入 File > Settings > Deployment > Configuration,点击“+”添加共享配置,填写服务器 IP、共享名称(例如 project_share)、用户名和 Samba 密码。原文这里写的是点击 Test SFTP connection,实际重点仍然是测试连接是否可用;连通后即可把共享目录作为可访问的项目位置使用。
Samba 的优势是局域网访问直观,但它更依赖网络环境和权限配置,通常更适合内网开发,不太适合公网服务器场景。
方案四:用 SSHFS 把远程目录挂载到本地
SSHFS 的思路和 SFTP 不一样:它不是单纯上传下载,而是直接把远程目录挂载到本地路径下。这样一来,PhpStorm 看到的就是一个“本地目录”,你保存文件时修改会实时落到远程服务器。
1. 安装 SSHFS 并创建挂载点
sudo apt update && sudo apt install sshfs
接着创建本地挂载目录:
mkdir /mnt/remote_project
2. 挂载远程项目目录
sshfs username@server_ip:/path/to/remote/project /mnt/remote_project
将其中的 username、server_ip 和 /path/to/remote/project 替换为实际值。挂载成功后,本地的 /mnt/remote_project 就会映射到远程项目目录。
3. 在 PhpStorm 中配置 SSHFS
进入 File > Settings > Languages & Frameworks > PHP > SSHFS,点击“+”新增 SSHFS 配置,填写主机名、端口、用户名和密码或密钥,并指定挂载点,例如 /mnt/remote_project。完成后点击 Test Connection 验证连接。
4. 直接编辑远程代码
挂载完成后,PhpStorm 会把该目录视为本地目录处理。你在 IDE 中直接编辑、保存文件,修改会实时同步到远程服务器。对于需要频繁改动远程代码、又不想反复上传下载的场景,这种方式会明显更顺手。
怎么选:四种方案的适用边界
如果你还在犹豫,可以直接按下面的思路判断:

- 远程 Ubuntu 服务器部署开发,优先选 SFTP。
- 多人协作、跨电脑工作、需要版本记录,优先选 Git。
- 同一局域网内访问 Ubuntu 项目目录,优先选 Samba。
- 希望像改本地文件一样直接改远程目录,优先选 SSHFS。
实际开发里,这几种方式也可以组合使用。例如日常协作用 Git,临时上线排查用 SFTP,特殊情况下再用 SSHFS 直接挂载远程目录。关键不是“哪一种绝对最好”,而是哪一种最贴合你当前的工作流。







