こんな人におすすめ
PHPアプリをVPSで動かす:権限とキャッシュの落とし穴
2026年8月20日
この記事はAIが下書きを作成しています。内容に誤りに気づいた場合はお問い合わせよりお知らせください。

レン
共用サーバーでは動いてたPHPのアプリを、VPSに移したら動かない…

プロクラ
この移行でつまずく場所は、だいたい決まっているよ。共用サーバーでは事業者が整えてくれていた部分が、VPSでは自分の担当になるからね。
1. 実行ユーザーと権限

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

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

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

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

プロクラ
ここは移行時に必ず確認しよう。設定ファイルのURLを直接開いてみて、中身が見えないことを確かめる。数秒で済む確認だけど、重要度は高いよ。
4. PHPのバージョンと拡張
- 共用サーバーで使っていたバージョンと揃える
- 必要な拡張モジュールが入っているか確認する
- メモリ上限やアップロードサイズの設定も、既定値に戻っている
- 共用サーバー側の設定を控えてから移すと楽

レン
権限、キャッシュ、公開範囲、バージョン。この4つを見ればいいんだね。
移す前に控えておくもの
- PHPのバージョンと、有効な拡張モジュールの一覧
- メモリ上限やアップロードサイズなどの設定値
- データベースの接続情報
- 定期実行の設定(共用サーバー側で登録していたもの)

プロクラ
4つめは忘れやすいよ。共用サーバーの管理画面で登録していた定期実行は、VPSでは自分で設定し直すことになる。移行前に一覧を控えておこう。
あわせて読みたい
- こんな人におすすめお名前.com VPSPythonアプリをVPSで公開する:前段に何を置くか開発用サーバーをそのまま公開してはいけない理由と、本番での構成。前段のWebサーバーの役割、常駐のさせ方、依存の扱いを解説します。
- こんな人におすすめConoHa for Windows ServerEAを24時間動かすVPSの選び方:メモリはEAの本数で決まる取引プラットフォームとEAがどれだけメモリを使うのか、本数が増えたときにどう効くのか。足りないと何が起きるかと、契約前に見るべき項目を整理します。
- こんな人におすすめConoHa for Windows ServerVPS上で取引プラットフォームが止まる:原因の切り分け気づかないうちに停止している原因を、メモリ・再起動・接続切れ・回線という4方向から切り分けます。止まったことを検知する方法まで解説します。
- こんな人におすすめConoHa for Windows ServerWindows Updateの再起動で自動売買が止まらないようにする更新は止められません。再起動の時刻を把握する方法、再起動後にプラットフォームを自動で立ち上げる仕組み、そして自動ログオンの是非を解説します。
サーバーを触る前に押さえておきたいこと
姉妹サイトの、この記事と相性のいいページです。
- Linuxコマンド入門
ls / cd / grep などを疑似ターミナルで試しながら学べる — prodou.net
- シェルスクリプト入門
サーバー作業の自動化スクリプトを基礎から — prodou.net