Ubuntu上のWindows共有フォルダにソースを置いてPhpStormで修正していましたが、接続が安定せずマトモに使えませんでした。
修正と同時にSFTPでアップロードするよう設定して問題回避したので、やり方を公開します。
勘弁してリヌスおじさん
Ubuntu機上に作成したWindows共有フォルダをWindows機のPhpStormで直接開いて修正していたが、接続が安定しないのかPhpStormのプロジェクトツリーが度々表示が消える(ツリーが閉じる)。
ディレクトリの深い所を弄っている所でツリーが消えられると、またディレクトリを開き直しになる。これでは仕事にならない。
どこまでドザは虐げられるんや…。
リヌスおじさん勘弁してマジで。。。
ネットを漁ると、ローカルのファイルを修正すると同時にSFTPでサーバ機にアップロードする設定ができるとのこと。
早速設定して良い感じになったので記録しておきます。
しかし…マジでPhpStormは痒い所に手が届くな…作った奴が開発業務のことを良く分かっとる…。良い買い物した。
PhpStormにSFTPサーバーを登録
- File⇒Settingsで設定画面を開く
- Build, Execution, Deployment⇒Deploymentを辿る
- +ボタン押下して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が出てきた今、結構敷居が低くなったのではないでしょうか。
関連記事 Creators Update版のBash on Windowsを触ってみた
WinSCPで送り込む
一番オーソドックス。
修正がたまにならこれが一番何も考えなくて良い。
修正する都度WinSCPで修正ファイルを手作業で送り込む。
関連記事
Ubuntuに共有フォルダを作るための手順はこちら。
Windows上のPhpStormからLinux上のPHPアプリをデバッグするときの手順はこちら。
PhpStorm良さそうだな、と思った方は読んでみてください。
では(^O^)/