【2026年10月追記】この記事は2015年当時の内容です。サーバーの管理画面は現在のものと違います。WordPressの場合は、画面が真っ白になる代わりに「このサイトで重大なエラーが発生しました」と表示されることがあります。そのときは、管理者のメールアドレスに届くエラー内容を確認しましょう。

PHPで画面が真っ白になる場合、いろいろな原因が考えられます。
「Authorization Required」「Internal Server Error」など、メッセージが表示される場合は、サーバーのエラーです。サーバー側の設定、ファイルの設定などを確認しましょう。

ログとエラーメッセージを確認する

まずは、基本に戻り、サーバーのエラーログを確認しましょう。
ログがヒントになることがよくあります。

また、画面が真っ白になる場合は、サーバーの初期設定でエラーを表示しない設定になっていることが多いです。

.htaccessまたは、php.ini設定でdisplay_errorsを有効にしましょう。

.htaccessファイルとは

「htaccess」(エイチティアクセス)とは、現在多くのWEBサーバーで使用されている「Apache」(アパッチ)を制御する設定ファイルの1つで、実際のファイル名は「.htaccess」(先頭がドット)となります。
レンタルサーバーなどで、自分専用にWEBサーバーの設定を変えたい場合は、「httpd.confファイルの変更」ではなく「.htaccessファイル」を格納することで、WEBサーバの設定変更(一部)を行うことができます。

さくらの共用サーバーとエックスサーバーで設定例を記載しますので、ご参考ください。

さくらの共用サーバーとエックスサーバーは、.htaccessに記載すると
エラーとなりますのでphp.iniに設定します。

さくらのレンタルサーバー

さくらサーバー管理画面

さくらサーバーの管理画面、左メニューのアプリケーションの設定、PHP設定の編集をクリックします。

PHP設定ファイルの編集画面が表示されたら、php.iniファイルパス下部の入力枠に

display_errors = On

を記載し、「保存する」をクリックします。

php.iniファイルパスの場所にphp.iniファイルができますので、

表示するサイトのディレクトリにファイルを置きます。

エックスサーバーの場合

エックスサーバーの管理画面

エックスサーバーの管理画面(サーバーパネル)の「php.ini設定」をクリックします。

ONにする

設定するドメインを選択し、php.iniの状態がOFFとなっている場合は、
ONにするボタンをクリックします。

display_errorsをONに設定する

ONにした後、php.ini設定変更をクリックし、
display_errorsをONにしたら、最下部の設定するボタンをクリックして完了です。

Parse errorやページが真っ白になる代表的なケース

もし、別サーバーで表示される場合は、サーバーの設定などのケースも考えられます。
代表的なケースを記載しますので、下記の内容もチェックしてみてください。

1..htaccessの記載が間違っている

.htaccessはサーバーによって記載が違います。
サーバー移転の際は記載の方法を確認しましょう。

2.PHPの記述、内部エラー

サーバーにアップして確認する際に多いエラーです。
上記のログやエラー内容を確認しましょう。

3.SmartyなどPHPライブラリが入っていない

内部エラーにも関係することですが、SmartyなどPHPライブラリが入っていない、
またはパスが間違っている場合も考えられます。

その場合、エラーメッセージが参考になると思います。
display_errorsを有効にして確認しましょう。

4.PHPのバージョンが違う

昔のファイルを別サーバーに移行する際に多いケースです。
エックスサーバーやさくらサーバーなど、管理画面でバージョンを設定できます。

※PHPバージョン変更は、さくらの共用サーバーの場合、プランによって、
他サイトに影響します。慎重に行いましょう。

5.XML宣言の記載があるのに設定していない場合

PHPファイルで、XML宣言の記載を行うと、
初めの「<?xml」と終わりの「?>」をPHPのコード(short_open_tag)と勘違いしてしまい、エラーが発生します。

XML宣言とは

XML宣言とは、XML文書の先頭に付き、その文書がXML文書であることを明確に示す文字列である。以下がXML宣言の例である。

<?xml version=”1.0″ encoding=”UTF-8″ standalone=”yes”?>

XML宣言は処理命令と似ているが、処理命令ではない。

XML宣言は必ず先頭に記述する必要がある。それより手前に空白文字や空行があってはならない。

version=の内容は常に1.0である。またXML宣言中で省略はできない。

対策方法は3つあります。XML宣言の削除、また、echoを追加する方法とshort_open_tagを無効にする方法です。

一番簡単なのはXML宣言を削除する方法です。

echoを追加する方法

XML宣言を修正可能な場合は、HTML内下記のように記載します。

<?php echo '<?xml version="1.0" encoding="utf-8"?>'; ?>

iniファイルに追加する方法

short_open_tag=Off

をiniファイルに追加します。

エックスサーバーを例にすると、管理画面のphp.ini直接編集の中に記載します。

設定例

記載したら「設定する」ボタンで完了です。

修正後、キャッシュが残る場合があるので、違うブラウザでも確認しましょう。

WordPressの場合はWP_DEBUGを使う(2026年10月追記)

WordPressでは、wp-config.phpの「define( ‘WP_DEBUG’, false );」を「true」に変えると、エラーを確認できます。あわせて「define( ‘WP_DEBUG_LOG’, true );」と「define( ‘WP_DEBUG_DISPLAY’, false );」を書くと、画面には出さずに wp-content/debug.log に記録できます。

display_errorsやWP_DEBUGを有効にしたままにすると、サーバーの情報が外から見えてしまいます。確認が終わったら、必ず元に戻しましょう。