閉じる

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. Nginx

    XSERVERがNginx(エンジンエックス)を導入!

  2. エックスサーバー

    エックスサーバーのハードウェア大幅増強・最新サーバーへの移行メン…

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

  4. エックスサーバー

    エックスサーバーのストレージディスクがSSDに

  5. date

    さくらレンタルサーバーの容量アップロード

  6. エックスサーバーでphpをhtmlで動作させる(.htacces…

ピックアップ記事

  1. Classic Editor
  2. Hacking Alert! You account was hacked
  3. サーチコンソール
ページ上部へ戻る