mixhostでWordPressのPHPエラーが表示されないときの対処方法

先日、mixhostでサイトをいじっているとき画面が真っ白になりました。

「Wordpressサイトで画面が真っ白になる」ケースといえば、大抵の場合はPHPエラーです。

なので「なぜ表示されない?とりあえずWordpressをデバッグモードしてみよう」とwp-config.phpファイルを編集しデバッグモードにしてエラーを表示させようとしました。けれども、デバッグモードにしても画面は真っ白のままでした。

ですので「あれ?PHPのエラーじゃなかったのかな?」と思いmixhostのサポートに症状を説明して相談に乗ってもらいました。

そしたらどうやらmixhostでは、セキュリティー上の観点から、デフォルトでエラーメッセージは出ない設定になっているようです。確かに、エラーメッセージには、ファイルへのパスが含まれていて、その中に、サーバーへのログインIDが含まれている場合もあります。

そういった諸々の理由からエラーメッセージはできるだけパブリックにしないに越したことはありません。

ただ、どうしても原因を探る場合に、エラーメッセージを表示したい場合もあるかと思います。

そんな際には、もちろん表示する方法もあります。

ということで今回は、「mixhostでPHPエラーを表示させる方法」について書きたいと思います。

スポンサーリンク
レクタングル(大)広告

主な手順

mixhostでWordpressを利用している場合、エラー表示をする手順は以下になります。

  1. cPanelにログイン
  2. PHPの設定を変更する
  3. WordPressをデバッグモードにする
  4. デバッグ作業が終了した後は設定を元に戻す

mixhostでは、デバッグモードにする前に、PHPオプションを変更する必要があるようです。

先程も書きましたが、エラーメッセージは、セキュリティー上の観点から出来る限りパブリックに表示されない方が無難です。そういった点で言えば、mixhostは「デフォルト状態でセキュリティーを考慮した状態になっている」ともいえます。

実際に僕も普段mixhostを使っているときに、以前使用していたサーバーよりも「セキュリティーにもかなり気を使っているんだなぁ」と感じられる設定を節々で見かけます。

cPanelにログイン

PHP設定の変更は、cPanelから行う必要があります。

まずはcPanelにログインしてください。

mixhostでcPanelにログイン

cPanelのログイン画面がよくわからない場合は、mixhostのマイページにログインします。

mixhostのマイページにログイン

マイページにログインしたら、使用中のサービスを選んで「cPanelにログイン」を選択すればcPanelが表示されます。

mixhostでマイページからcPanelにログイン

PHPの設定を変更する

PHPの設定を変更するには、cPanelの「ソフトウェア」項目にある「Select PHP Version」を選択してください。

cPanelのソフトウエア項目のPHPバージョン項目

「PHP Selector | extensions」画面が表示されるので、「Switch To PHP Options」を選択してください。

PHP Selector ・ extensions

「PHP Selector | options」画面が表示されるので「display_errors」項目部分の値をクリックします。

PHP Selector ・ options

あとは「display_errors」の設定を「On」にして適用ボタンを押してください。

display_errorsをオンにする

最後に「保存」ボタンを押して設定完了です。

PHPオプションの設定を変更したら保存ボタンを押す

おそらくこの段階で、エラーメッセージが出る場合は、以下のように出るかと思います。

エラーメッセージが表示された

WordPressをデバッグモードにする

    もし、上記までの方法で、エラーメッセージが表示されない場合(もしくは通知[notice]メッセージ等も表示させたい場合)は、wp-config.phpをFTPソフトなどで開いて編集します。

    デバッグモードにするためWordpressフォルダ内のwp-config.phpファイルを開く

    ファイルを開いたらデバッグモードに変更します。

    /**
     * 開発者へ: WordPress デバッグモード
     *
     * この値を true にすると、開発中に注意 (notice) を表示します。
     * テーマおよびプラグインの開発者には、その開発環境においてこの WP_DEBUG を使用することを強く推奨します。
     */
    define('WP_DEBUG', true);

    一応これで完全にWordpressでデバッグ環境になりました。

    以下のように、noticeメッセージも表示されるようになります。

    Wordpressのデバッグモードで通知メッセージを表示した

    デバッグ作業が終了した後は設定を元に戻す

    最後に、不具合や問題が解決した際には、今回行った設定を元に戻して、エラーメッセージを表示しないように戻しておきましょう。

    エラーがあったときは、とりあえず画面が真っ白表示される方が、セキュリティー的には安全です。

    まとめ

    このように、mixhostでPHPエラーメッセージを見たい場合は、必ずPHPオプションを変更して、「display_errors=On」にする必要があります。

    最初、以前使用していたエックスサーバーでは必要なかったPHPオプションを変更する必要があり、少し戸惑いましたが、セキュリティー的にはこっちの方が良さそうです。

    ということで「mixhostでPHPエラーの表示方法がわからない」とか「mixhostでエラーメッセージ有効、notice表示も有効にしたい」なんて場合があれば、今回の方法を試してみてください。

    サイト mixhost