PhpStorm与Ubuntu共享文件的常用方法
SFTP是基于SSH的安全文件传输协议,适合需要加密传输的场景,也是PhpStorm最推荐的远程文件共享方式。
sudo apt update && sudo apt install openssh-server
sudo systemctl start ssh && sudo systemctl enable ssh
sudo nano /etc/ssh/sshd_config
找到并修改以下内容(取消注释或新增):Subsystem sftp internal-sftp
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
保存后,创建sftpusers用户组并添加用户(如your_username):sudo groupadd sftpusers
sudo usermod -aG sftpusers your_username
设置用户家目录权限(确保SSH能访问):sudo chown root:root /home/your_username
sudo chmod 755 /home/your_username
sudo mkdir /home/your_username/projects
sudo chown your_username:sftpusers /home/your_username/projects
sudo systemctl restart ssh
File > Settings(Windows/Linux)或PhpStorm > Preferences(macOS),导航至Build, Execution, Deployment > Deployment。+号,选择SFTP,填写以下信息:
22(若修改过SSH端口,需对应调整);Password(输入密码)或Key pair(选择私钥文件,更安全)。Test SFTP connection,若显示“Connection successful”,说明配置正确。Mappings标签页,配置本地项目路径(如D:\projects\my_php_project)与远程路径(如/home/your_username/projects/my_php_project)的映射关系。Apply→OK保存配置。此后可通过Tools > Deployment > Upload to...将本地文件上传至Ubuntu,或通过Remote Host工具窗口直接访问远程文件。Samba适合需要与Windows系统共享文件的场景,或在Ubuntu上实现类似Windows的文件共享功能。
sudo apt update && sudo apt install samba
sudo nano /etc/samba/smb.conf
在文件末尾添加以下内容(替换/path/to/your/project为项目路径,your_username为允许访问的Ubuntu用户):[project_share]
path = /path/to/your/project
available = yes
valid users = your_username
read only = no
browsable = yes
public = no
writable = yes
保存后,重启Samba服务:sudo systemctl restart smbd && sudo systemctl enable smbd
sudo smbpasswd -a your_username
PhpStorm本身不支持直接挂载Samba共享,但可通过以下两种方式访问:
cifs-utils工具,将Samba共享挂载到本地目录:sudo apt install cifs-utils
sudo mkdir /mnt/samba_share
sudo mount -t cifs //windows_host/shared_folder /mnt/samba_share -o username=windows_user,password=windows_password
挂载后,在PhpStorm中通过File > Open打开/mnt/samba_share即可访问共享文件。Tools > Deployment > Configuration添加本地目录作为“Deployment Path”。SSHFS通过SSH协议挂载远程文件系统,适合需要像本地目录一样操作远程文件的场景。
确保Ubuntu已安装并启动SSH服务(参考SFTP配置中的sudo systemctl start ssh)。
sudo apt install sshfs
brew install --cask macfuse && brew install gromgit/fuse/sshfs
在本地终端运行以下命令(替换your_username、ubuntu_host和/remote/path):
sshfs your_username@ubuntu_host:/remote/path /local/mount/point
输入密码后,远程目录将挂载到/local/mount/point。
在PhpStorm中通过File > Open打开挂载目录(如/local/mount/point),即可像操作本地文件一样编辑远程文件。修改后,保存时会自动同步到Ubuntu服务器。
valid users、SFTP的chown设置)。Tools > Deployment > Automatic Upload开启自动同步,或手动右键选择Upload to.../Download from...同步文件。以上方法覆盖了PhpStorm与Ubuntu之间常见的文件共享需求,可根据实际场景选择合适的方式。