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プロジェクト単独の設定か否か
TypeSFTP他にFTP, FTPS, Local or mounted folder(他のディレクトリ), In place(不明)が選べる
SFTP hosttecho.red.lanサーバ機のIPアドレス又はホスト名
Port22SSHポート番号
Root path/var/www/html/wordpress同期先。サーバー上の絶対パス
Auth typePassword他にKey pairがあり、公開鍵ファイルを使っての接続もできる模様
User nameSSHユーザー名
PasswordSSHパスワード
Web server root URL詳細不明。デバッグ実行ボタンと連動するのかな?

Mappingsタブ

項目内容
Local pathC:\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 serverAlwaysAlways: 更新し次第即送信
On explicit save action: Ctrl+Sを押したときだけ送信
Naver: 何もしない
Upload external changesPhpStorm外で更新したファイルも送信

ただ、うちの環境では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に共有フォルダを作るための手順はこちら。

Sambaのインストール方法を説明します。 UbuntuにSambaをインストールするとWindows共有フォルダを作れるようになり、無料ファイルサーバーにできます。 設定ファイルのサンプルもあります。

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

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

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

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