PHPのホットデプロイ

PHPの場合、元からしホットデプロイなのだが、基本的にはファイル一つ一つの単位になってしまう。Javaのwarやearみたいなアプリ単位にアーカイブにまとめてというようなことはない(?)。
複数のファイルを入れ替える場合に、微妙なタイミングでアクセスがあるとバージョンの不整合でエラーになってしまうという可能性を考えると、やはりWebサーバを停止して、入れ替えて、再起動となってしまう。心配のしすぎという面もあるんだけど、アクセスの多い時間帯にはやれないのではないだろうか。

しかし毎回、深夜作業というのも避けたい。比較的アクセスの少ない時間帯に比較的危険のない方法でやるというようなことができるかどうか。

  • 新しいモジュールのディレクトリを別の場所に用意しておいて、一括で mv すればいいのだろうか。
  • 複数あるPHPファイルを全部1ファイルにまとめてしまえばいいのかもしれないが、なんとなく実行時の性能が低下しそうだ。
  • あるいは一つ一つファイルを入れ替えても不整合がないように、プログラムの構成を工夫する。最初はインクルードファイルみたいのを入れ替えて、それからファイルを一つ一つ入れ替えても、不整合がないようにする。常に可能かはちょっとすぐには分からない。大丈夫なことをロジックから考えないと駄目そうだから、難しいかも。