Help us understand the problem. What is going on with this article?

PHPStormで自動的にFTP/SFTPアップロードされるようにする

More than 3 years have passed since last update.

開発サーバとローカルマシン間でファイルを自動的に同期する方法として、Vagrant の synced_folder を利用するのがモダンかつ定番になっています。

ただ、開発サーバがリモートに存在する場合はその方法は難しいですよね。

その場合の代替手法として、PHPStormにはFTP/SFTPサーバへ自動的にアップロードしてくれる機能があります。

しかも、PHPStorm上で編集したファイルだけでなく、SCSS+Compassによって吐き出されたcssファイルやGruntでビルドされたjavascriptファイルなどにも適用できます。

実施環境

  • Macbook Pro 15インチ
  • Mac OS X 10.10 Yosemite
  • PHPStorm 10

まず、PHPStormでFTP/SFTPサーバを設定する

あらかじめFTPサーバの接続設定を行います。

環境設定 > Build, Execution, Deployment > Deployment を開きます。

スクリーンショット 2016-03-20 16.18.28.png

リモートサーバのFTP情報を入力して[OK]ボタンをクリックします。

この時点ではファイルツリーから都度「Upload to...」を選択しなければアップロードされず、非効率です。

スクリーンショット 2016-03-20 16.32.25.png

自動FTP/SFTPアップロードの設定をする

PHPStorm上で編集したファイルと外部ツールによって更新されたファイルの両方を自動的にアップロードされるように設定します。

環境設定 > Build, Execution, Deployment > Deployment > Options を開きます。

スクリーンショット 2016-03-20 16.10.15.png

設定項目

  1. Upload changed files automatically to the default server : Always
  2. Upload external changes : on

1でAlwaysを設定しておくとファイル保存時とフォーカスが外れたときの両方でアップロードされます。

2でチェックボックスをオンにしておくとcompassやGruntなどの外部ツールが更新したファイルも自動アップロードの対象になります。

以上、2つの項目を設定したら[OK]ボタンをクリックします。
(この設定はプロジェクト毎にする必要があります)

スクリーンショット 2016-03-20 16.42.00.png

ファイル保存をしたり、compassがcssを吐き出したりするとPHPStormがすぐさま検知して自動的にアップロードしてくれるようになります。

開発サーバがリモートにあるとは思えないくらいリアルタイムにファイル同期されるのでとても作業が捗り、この設定はとてもオススメです。

J_Sugar__
DrupalメインのPHPプログラマー。 趣味は写真・カメラ・筋トレです。
dgcircus
オープンソースCMS「Drupal」の導入・カスタマイズ開発、スマートフォンアプリ開発を行うIT企業
https://www.dgcircus.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away