PhpStormのファイルをサーバとSFTPで自動同期させる方法

PhpStorm Logo

Ubuntu上のWindows共有フォルダにソースを置いてPhpStormで修正していましたが、接続が安定せずマトモに使えませんでした。
修正と同時にSFTPでアップロードするよう設定して問題回避したので、やり方を公開します。

スポンサーリンク

勘弁してリヌスおじさん

Ubuntu機上に作成したWindows共有フォルダをWindows機のPhpStormで直接開いて修正していたが、接続が安定しないのかPhpStormのプロジェクトツリーが度々表示が消える(ツリーが閉じる)。

ディレクトリの深い所を弄っている所でツリーが消えられると、またディレクトリを開き直しになる。これでは仕事にならない。

どこまでドザは虐げられるんや…。
リヌスおじさん勘弁してマジで。。。

ネットを漁ると、ローカルのファイルを修正すると同時にSFTPでサーバ機にアップロードする設定ができるとのこと。

早速設定して良い感じになったので記録しておきます。

しかし…マジでPhpStormは痒い所に手が届くな…作った奴が開発業務のことを良く分かっとる…。良い買い物した。

PhpStormにSFTPサーバーを登録

  1. File⇒Settingsで設定画面を開く
  2. Build, Execution, Deployment⇒Deploymentを辿る
  3. +ボタン押下してSFTPサーバーの情報を指定する

Connectionタブ

項目 内容
Name なんでも良い
Visible only for this project プロジェクト単独の設定か否か
Type SFTP 他にFTP, FTPS, Local or mounted folder(他のディレクトリ), In place(不明)が選べる
SFTP host techo.red.lan サーバ機のIPアドレス又はホスト名
Port 22 SSHポート番号
Root path /var/www/html/wordpress 同期先。サーバー上の絶対パス
Auth type Password 他にKey pairがあり、公開鍵ファイルを使っての接続もできる模様
User name SSHユーザー名
Password SSHパスワード
Web server root URL 詳細不明。デバッグ実行ボタンと連動するのかな?

Mappingsタブ

項目 内容
Local path C:\usr\dev\git\web\techo.red.lan ローカル機側のパス
Deployment path / 対応するサーバ機側のパス
※Root pathからの相対パス
Web path on server… / 絶対URL?

自動アップロードの設定

File⇒Settingsで設定画面を開く

Build, Execution, Deployment⇒Deployment⇒Optionsを辿る

ミソは2点。

項目 内容
Upload changed files automatically to the default server Always Always: 更新し次第即送信
On explicit save action: Ctrl+Sを押したときだけ送信
Naver: 何もしない
Upload external changes PhpStorm外で更新したファイルも送信

ただ、うちの環境ではUpload changed…をAlwaysにしても、Ctrl+Sを押さないと(ファイルを保存しないと)送信してくれない。

動作状況確認

View⇒Tool Windows⇒File Transferを開くと、PhpStorm画面の何処かにログが表示されると思います。

うちの場合何か警告出てるけど…実用上問題ないからもう良いや…。

補足:WindowsからLinuxを弄る他のアプローチ

本記事では取り上げていませんが、Linux上のファイルをWindowsで読み書きするには他のアプローチもあります。

Gitリポジトリを作る

Linux上のディレクトリをGitリモートリポジトリにする。
開発者向けですね。

Windows上でTortoiseGit, PhpStormなどのGitクライアントからコミットする形でファイルを送り込む。

関連記事 GitBashでGitのリモートリポジトリを作る方法

rsyncで送り込む

Windowsにrsyncをインストールし、適宜rsyncコマンドを実行してWindowsとLinuxをディレクトリの内容を同期させる(Windowsでの修正内容をLinuxに反映させる)。

Git Bashを使っている場合はrsyncの準備自体が面倒くさかったようですが、Bash on Windowsが出てきた今、結構敷居が低くなったのではないでしょうか。

参考 rsyncをGit for Windowsに混ぜる

関連記事 Creators Update版のBash on Windowsを触ってみた

WinSCPで送り込む

一番オーソドックス。
修正がたまにならこれが一番何も考えなくて良い。

修正する都度WinSCPで修正ファイルを手作業で送り込む。

 関連記事

Ubuntuに共有フォルダを作るための手順はこちら。

UbuntuにSambaをインストールすればWindows共有フォルダを作れるようになります。 UbuntuとSambaを使えば無料でファイルサーバーを作れます。

Windows上のPhpStormからLinux上のPHPアプリをデバッグするときの手順はこちら。

Ubuntu上のWordPressをPhpStormでステップ実行デバッグしたくなった。 UbuntuにXdebugをインストールしてPhpStormを設定した。

PhpStorm良さそうだな、と思った方は読んでみてください。

PhpStormをJetBrains公式サイトで購入・アクティベートする方法です。 英語が苦手な方でも手順が分かるように配慮しています。