2015/09/04

エラーコードを非表示、表示切り替える設定方法!.htaccessの設定を優先させるphp.ini設定

ロリポップでは、.htaccessにphp_flag display_errors offなど書いても反映されません。php.ini設定の優先度が高いからです。.htaccessを優先させる設定方法と、もっと簡単なエラーコードの表示・非表示の設定方法を書いてます。

またWordPressのphpエラーでブログが表示されず、真っ白画面の上部にエラーコードを表示されてる状態では、レンタルサーバーのアカウントが丸見えになってる状態=パスワードを総当りされたら、不正侵入の可能性があがってしまいます。

エラーコードの表示・非表示にする設定をしようと『.htaccess』にコードをどうすれば反映できるか、その設定方法と手順を説明しますね。

エラーの内容やエラーの直しかた全般は下記を参考に^^

LINKHTTP500内部サーバーエラー(Internal Server Error)の意味とは?誰もが理解出来るかもページ

  • カッコ【 ) 】の閉じ忘れ
  • セミコロン【 ; 】を忘れてる
  • スペースが入ってるなどは下記をどうぞ

LINKブログが真っ白!エラー原因は全角・閉じ忘れ・親子テーマの競合!?2通りの復元方法&今後の対策!!

ランボルギーニ・カウンタック

著作者:Iain A Wanless
スポンサーリンク

phpのエラーコード、2種類の表示、非表示設定方法

ロリポップでは、.htaccess(ドット エイチ ティ アクセス)にエラーコードを非表示にするphp_flag display_errors offを書いても、「PHPエラーの非表示」が有効になりません。php.iniの設定が表示される設定になってるからです。

.htaccessにphp設定を書いたものを表示させる設定のほうが便利だと感じるあなたに設定方法を書きますね。下記はエラーコードを非表示にするコード。

ロリポップphp.ini設定エラーコードの表示、非表示設定

phpエラーコードに個人情報が入ってるので設定で非表示にする過程、設定変更画面へ

ロリポップにログインして、

  1. WEBツール
  2. PHP設定
  3. 該当ドメインのphp.iniの設定変更へをクリックします。

phpエラーが出た時ブラウザに個人情報が含まれるエラー内容を非表示にさせる方法

  1. php.iniの設定画面を下へスクロールし「■そのほか」を見る
  2. display errorsの設定をonから、offに変更するとエラーコードが非表示(offから、onに変更すれは表示)
  3. php.iniの設定を完了させる。

これでエラーが出た時、ブラウザに映る個人情報込みのphpエラーを非表示に出来ます。2分もかからず、オンオフの切り替え完了は5分少々で変更可能です♪

php.iniでエラーコードを表示・非表示にするならwww.独自ドメインも同じ設定に

php.ini設定は、独自ドメインとwww.独自ドメインの両方とも設定をしなければonまたは、Offを入れておかないとエラーが出たとき画面上に、エラーコードが表示されてしまいます。

ロリポップの担当さんより引用

「display errorsは、www.独自ドメインの方にもOffを入れとかないと、
PHPエラーでた時、ブラウザに表示されてしまうって事でしょうか?」については
お客様が仰るようにエラーがでるということです。

引用元:ロリポップのお問い合わせ担当さんより

エラーの時「サーバーFTPログイン名」を表示させたくないなら、一括でブラウザにエラー表示させない設定がオススメ。エラーコードを見たら、どこかにコピペ保存して、消してエラー箇所を探すほうが安全です。

ロリポップ.htaccessの内容が反映されないときの設定方法

php.ini設定内容が原因なので、php_value, php_flagをOffからOnに変更すれば良いだけ。これをOnにすれば.htaccessで書いた内容が反映するようになります。Offにしていると、php.ini設定が優先して反映されるってことですね。

  1. php_value, php_flagをOffからOnに変更する
  2. php.iniの設定を完了させる。

phpエラーが出た時ブラウザに個人情報が含まれるエラー内容を非表示にさせ、.htaccessの記載内容を有効にさせたい人用

これで「.htaccess」内に書いたコード「php_flag display_errors off」が有効になり、PHPの内部エラーが発生したときエラーメッセージがでなくなります♪

※デフォルトの設定は、【php_value, php_flagを利用可能にする:Off】 は『.htaccess』に「phpエラーコード出さないで」ってコード入力した所で、有効にならない設定が初期設定です。

phpエラーを出すと画面上にエラーコードと、サーバーアカウントが表示される

phpエラーを起こしてブログが真っ白になったときに画面の上にエラーコードが表示されます。これは、どのphpの何行目かわかるので凄く便利な機能があります。反面、サーバーログイン時のユーザー名アカウントまで表示されちゃうんですよっ。

ロリポップでは、画面が真っ白になる「phpのエラー」が出たときデフォルトでエラーコードが表示されます。例えば、functions.phpエラーで表示されるエラーコードは下記。

Parse error: syntax error, unexpected $end in /hoge/hoges/数字/★見られたくないサーバーアカウント★/geho/ドメイン(bibabosi-rizumu.com)/wp-content/themes/stinger5テーマのバージョン/functions.php on line 276

ここで、見られたくないものって、サーバーアカウントなんですよねっ。初心者には、何のことかわかりませんよね。

サーバーアカウントは、ログインの時のユーザー名サーバーアカウントです。そこは知られたくないって、思いませんか?それを、見越してくれた「まろろんさん」のメッセージです♪

[WordPress]PHPのエラーをブラウザに出力しないコード

サーバー上の物理パス(フォルダ名)が見えてしまっていること。よくあるのがFTPのユーザー名がパスの中に入っていることがあって、全世界の攻撃者にあなたのブログのサーバーのFTPアカウント名を公表していることになってしまいます。

~中略~

  1. 「.htaccess」または「htaccess.txt」に次の1行を追加します。

引用元:PHPのエラーをブラウザに出力しないようにするには[WordPress]:さかのうえのまろさんより

詳しく知りたい方は、まろろんさんのページへどうぞっ♪

ブラウザにエラーコードが出ると、アカウントまで表示され、まろろんさんの言う “全世界の攻撃者にあなたのブログのサーバーのFTPアカウント名を公表” されてるってワケです。

さいごに

エラーが起きてから、バックアップとっておけば良かったぁって、後の祭りです。バックアップをとっておく事と、事なきを得ます♪

サーバーよっては初期設定で、php.iniの設定で.htaccessに書いたモノが反映されないよう設定されてます。設定次第で便利ですね。カスタマイズで失敗すると、エラーコードだけでなく、サーバーアカウントが表示されます。

そもそも、エラーログを保存すれば良いんですがね^^;

それでは、かうたっくでした。

書いた人:かうたっく

何も知らない初心者ですが、WordPressでブログを始めました。 ブログの技術系でつまずいたエラーを経験したことからエラー関連を、初心者が初心者に向けて分かりやすい言葉で書いてます★子どもの喘息様気管支炎や、幼い子どもとの生活ページなどよく読まれる雑多ブログを運営中^^♪ご意見、感想、質問はお問い合せよりお待ちしています。

Twitterフォロー