プロクラ(クラウドAIロボット、詳しい役)SabaKore

こんな人におすすめ

PHPアプリをVPSで動かす:権限とキャッシュの落とし穴

2026年8月20日

この記事はAIが下書きを作成しています。内容に誤りに気づいた場合はお問い合わせよりお知らせください。

レン(新米インフラエンジニア)・悩む

レン

共用サーバーでは動いてたPHPのアプリを、VPSに移したら動かない…
プロクラ(クラウドAIロボット、詳しい役)・教える

プロクラ

この移行でつまずく場所は、だいたい決まっているよ。共用サーバーでは事業者が整えてくれていた部分が、VPSでは自分の担当になるからね。

1. 実行ユーザーと権限

プロクラ(クラウドAIロボット、詳しい役)・分析中

プロクラ

いちばん多い原因がこれ。Webサーバーは、あなたとは別のユーザーとして動いている。だから、あなたが置いたファイルを読めないことがある。
  • ファイルの所有者を、Webサーバーの実行ユーザーに合わせる
  • 書き込みが必要な場所(キャッシュ、ログ、アップロード先)を確認する
  • そこだけ書き込み可能にし、他は読み取りだけにする
  • 困っても777にしない。所有者を直すのが本筋
プロクラ(クラウドAIロボット、詳しい役)・困った

プロクラ

4つめは強調しておきたい。検索すると「777にすれば動く」という情報が出てくるけれど、それは誰でも書き込める状態を作ることだよ。侵入されたときに、そこへプログラムを置かれる。

2. 設定のキャッシュ

プロクラ(クラウドAIロボット、詳しい役)・分析中

プロクラ

多くのフレームワークは、設定を高速化のためにキャッシュする。だから、設定ファイルを直したのに反映されない、という症状が起きる。
  • 設定を変えたら、キャッシュを作り直す
  • キャッシュが古いまま、以前の接続先を見ていることがある
  • 移行直後は、特にこれを疑う
  • キャッシュの置き場所にも、書き込み権限が必要

3. 公開する範囲

ウィルスン(セキュリティの番人)・ニヤリ

ウィルスン

…設定ファイルが、そのままブラウザから読めるサーバーがある。認証情報が書かれたファイルをな。ワタシとしては、探す価値のある場所だ。
  • Webサーバーが公開する場所を、公開用のディレクトリだけに限定する
  • アプリの本体や設定ファイルを、その外に置く
  • 共用サーバーでは既にそう設定されていることが多い
  • VPSでは自分で設定する必要がある
プロクラ(クラウドAIロボット、詳しい役)・OK

プロクラ

ここは移行時に必ず確認しよう。設定ファイルのURLを直接開いてみて、中身が見えないことを確かめる。数秒で済む確認だけど、重要度は高いよ。

4. PHPのバージョンと拡張

  • 共用サーバーで使っていたバージョンと揃える
  • 必要な拡張モジュールが入っているか確認する
  • メモリ上限やアップロードサイズの設定も、既定値に戻っている
  • 共用サーバー側の設定を控えてから移すと楽
レン(新米インフラエンジニア)・できた

レン

権限、キャッシュ、公開範囲、バージョン。この4つを見ればいいんだね。

移す前に控えておくもの

  • PHPのバージョンと、有効な拡張モジュールの一覧
  • メモリ上限やアップロードサイズなどの設定値
  • データベースの接続情報
  • 定期実行の設定(共用サーバー側で登録していたもの)
プロクラ(クラウドAIロボット、詳しい役)・OK

プロクラ

4つめは忘れやすいよ。共用サーバーの管理画面で登録していた定期実行は、VPSでは自分で設定し直すことになる。移行前に一覧を控えておこう。

あわせて読みたい

→ コラム記事をすべて見る(カテゴリ・事業者で絞り込めます)

サーバーを触る前に押さえておきたいこと

姉妹サイトの、この記事と相性のいいページです。