閉じる

PHPでParse errorや画面が真っ白になる場合にチェックすること

本ページはプロモーション・広告が含まれています。

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

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

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

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

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

.htaccessファイルとは

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

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

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

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

さくらサーバー管理画面

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

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

display_errors = On

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

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

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

XSERVERの場合

XSERVER管理画面

Xサーバーの管理画面、日理メニューの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のバージョンが違う

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

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

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

phpファイルで、xml宣言の記載を行うと、
初めの PHPコード(shorttag)と勘違いしてしまい、エラーが発生します。

XML宣言とは

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

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

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

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

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

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

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

echoを追加する方法

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

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

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

short_open_tag=Off

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

XSERVERを例にすると、管理画面のphp.ini直接編集の中に記載します。

設定例

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

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

関連記事

  1. エックスサーバー

    XSERVERのMYSQLデータベースの目安容量が増加1GBに

  2. Let’s Encrypt

    さくらのレンタルサーバが無料のSSLサーバー証明書Let’s E…

  3. さくら専用サーバーでリモートコンソールを使用する場合の注意点

  4. エックスサーバーの新サーバー簡単移行機能の注意点

  5. X2サーバーがサービス終了するようです

  6. エックスサーバーで無料独自SSL証明証が利用可能に!

ピックアップ記事

  1. reCAPTCHA
  2. 日本語設定
ページ上部へ戻る