ロリポップでPHP includeが本番だけ読み込めない時の確認順番
ローカルでは表示されるのに、ロリポップ本番だけincludeで止まる時は、相対パスや公開フォルダの違いが原因になりがちです。
確認日と対象
確認日: 2026年5月16日。ロリポップで自作PHPサイトを公開した後、ローカルでは動くのに本番だけ include や require が読み込めず、真っ白画面や Failed opening required が出る人向けです。
Composerのautoload設計や大規模フレームワーク固有の読み込みは対象外です。まず相対パス、__DIR__、DOCUMENT_ROOT、FTP上の置き場所、大文字小文字を確認します。
このページで整理できること
- ローカルだけ動くのか、本番だけ読み込めないのかを分ける
includeを書いたPHPと、読み込まれるPHPの場所を分ける- 相対パス、
__DIR__、DOCUMENT_ROOTのどれで読むべきか確認する - FTP上に実ファイルがあるか、大文字小文字や二重フォルダが違わないか見る
- 真っ白画面、Warning、Fatal error、500のどれとして出ているか整理する
- AIやサーバー会社へ相談する時に、伏せるパスと伝える情報を分ける
include先を探す順番
ローカルと本番で動きが違う時は、相対パス、サイトの根元、本番の置き場所、ファイル名、ログの順に確認します。
相対パスを疑う
include("../nav.php") のような相対パスは、ファイルの階層が変わると壊れます。共通パーツは DOCUMENT_ROOT から読むと安定しやすいです。
<?php include($_SERVER['DOCUMENT_ROOT'] . "/nav.php"); ?>
本番だけ読み込めない時に最初に分けること
includeの失敗は、指定の書き方だけでなく、ファイルの置き場所、アップロード漏れ、ファイル名の大文字小文字、PHPエラーの出方が混ざります。先に状態を分けると、直す場所を絞れます。
| 状態 | 先に見る場所 | 次の行動 |
|---|---|---|
| ローカルでは表示、本番だけ真っ白 | エラーログ、include先、ファイル名 | 画面ではなくログで実際に探しているパスを確認します。 |
Failed opening required が出る |
読み込む側と読み込まれる側の階層 | 相対パスを疑い、必要なら __DIR__ や DOCUMENT_ROOT に寄せます。 |
| 本番にinclude先ファイルがない | FTP右側の置き場所、アップロード対象 | 共通パーツや includes/ のアップロード漏れを確認します。 |
| 一部ページだけ読み込めない | ページの階層、相対パス、二重フォルダ | 下層ページだけ基準階層が変わっていないか確認します。 |
実際に見る順番
include失敗は、直前に触ったファイルだけでなく「読み込まれる側の置き場所」も見ます。次の順番で切り分けてください。
| 順番 | 見る場所 | 分かること |
|---|---|---|
| 1 | エラー文 | Failed opening required、Warning、Fatal errorの内容 |
| 2 | includeを書いたPHP | 相対パスがどの階層から見ているか |
| 3 | 読み込まれるファイル | FTP上に実ファイルがあるか |
| 4 | 大文字小文字 | Nav.php と nav.php の違い |
| 5 | __DIR__ | 現在のPHPファイル基準で読むべきか |
| 6 | DOCUMENT_ROOT | サイトの公開ルート基準で読むべきか |
| 7 | エラーログ | 画面が真っ白でも実際のパスが分かるか |
本番にファイルがあるか確認する
include先のファイルをアップロードし忘れていることもあります。FTPで includes や nav.php が本番にあるか確認します。
大文字小文字を見る
Windowsでは動いても、本番では Meta.php と meta.php が別扱いになることがあります。includeの指定と実ファイル名を合わせます。
真っ白ならログを見る
include失敗が致命的エラーになると、画面が真っ白になることがあります。エラーログや php -l で切り分けます。エラー文の見方は ロリポップでPHPエラーログを見る方法 も参考になります。
AIに相談する時のメモ
AIに相談する時は、読み込む側と読み込まれる側のファイル位置を分けて書きます。サーバーの絶対パスやログに個人名が入る場合は伏せてください。
サーバー会社や制作会社へ聞く必要がある時は、問い合わせ文メーカーやロリポップ問い合わせ文メーカーで、URL、症状、エラー文、確認済み項目を整理できます。
ロリポップ本番だけPHP include / require が読み込めません。
ローカルでの状態:
例: 正常に表示される
本番での症状:
例: 真っ白 / Failed opening required / Warning: include
表示されたエラー文:
includeを書いているファイル:
例: /templates/lolipop/example.php
読み込みたいファイル:
例: /includes/nav.php
今の指定:
例: include("../includes/nav.php")
FTP上で確認したこと:
- 読み込みたいファイルがあるか:
- 大文字小文字:
- アップロード先:
- DOCUMENT_ROOT:
- __DIR__:
- エラーログ:
サーバーの絶対パス、ユーザー名、個人情報は伏せています。
初心者向けに、次に見る順番を教えてください。
公式情報で確認するところ
| 確認したいこと | 公式情報 | この記事での使い方 |
|---|---|---|
include の基本 |
PHP公式 include | 読み込み失敗時の挙動、ファイルパスの考え方を確認します。 |
require の止まり方 |
PHP公式 require | 読み込み失敗時に処理が止まる理由を確認します。 |
DOCUMENT_ROOT などのサーバー変数 |
PHP公式 $_SERVER | 公開ルート基準で共通パーツを読む時に確認します。 |
問い合わせる前に伏せる情報
includeエラーの相談では、ファイル位置の情報が必要です。ただし、サーバーの絶対パス、ユーザー名、管理画面URL、FTP情報、DB接続情報はそのまま貼らないでください。
| 貼ってよい情報 | 伏せる情報 |
|---|---|
| 公開URL、相対的なファイル位置、エラー文の種類 | FTPホスト、ユーザー名、パスワード |
/templates/example.php から /includes/nav.php を読みたい、という説明 |
サーバー上の個人名入り絶対パス |
| ローカルでは表示、本番では真っ白、という症状 | DB接続情報、APIキー、管理画面ログイン情報 |