【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とは? CMAN
さくらの共用サーバーとエックスサーバーで設定例を記載しますので、ご参考ください。
さくらの共用サーバーとエックスサーバーは、.htaccessに記載すると
エラーとなりますのでphp.iniに設定します。
さくらのレンタルサーバー

さくらサーバーの管理画面、左メニューのアプリケーションの設定、PHP設定の編集をクリックします。
PHP設定ファイルの編集画面が表示されたら、php.iniファイルパス下部の入力枠に
display_errors = On
を記載し、「保存する」をクリックします。
php.iniファイルパスの場所にphp.iniファイルができますので、
表示するサイトのディレクトリにファイルを置きます。
エックスサーバーの場合

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

設定するドメインを選択し、php.iniの状態がOFFとなっている場合は、
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宣言中で省略はできない。
引用元: XML用語事典 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を有効にしたままにすると、サーバーの情報が外から見えてしまいます。確認が終わったら、必ず元に戻しましょう。