2019年5月9日php私は自分のサイトに「さくらインターネット」の「スタンダード」を利用させていただいています。そこで「display_errors」を「On」にしてもphpのエラーメッセージが表示できず、少しハマることがありました。さくらインターネットさんに問題があるわけではなく、自分のソースで記述が足らないことが原因でした。それが漸く解決ができたので、まとめておきます。Onの設定方法」について書きましたが、ここは分かっているという方は「こちらから本題へ」進んでください。Onの設定方法さくらインターネットさんの公式サイト内では設定方法を見つけられませんでした。「php.iniの項目の詳細」についてはサポートの対象外のようですので無いのだと思われます。私が調べて設定できた方法を説明します。?>まず、使用しているphpの情報を「phpinfo」にて確認します。Value」の値は「Off」でした。Value」の違いについて簡単に説明しておきます。.htaccess、phpの関数等で設定された値(上書いた値というイメージ)になります。php.iniにて設定(設定が効きませんでした)『さくらインターネット』では、「コントロールパネル」>「アプリケーションの設定」>「PHP設定の編集」にてphp.iniの編集が行えます。Value」とも値は「Off」でした。サーバ上の実際に編集された「php.ini」を確認しましたが、値は正しく設定されていました。該当の「php.ini」が参照されていないように思います。何か設定が必要な箇所を見逃しているのだと思います。何か心当たりがある方がいらっしゃいましたら、ご教示いただけますと幸いです。.htaccessにて設定(設定不可)※後程のphpの関数での設定で簡単に行えますので、詳しくは調べていませんこちらは私が利用させていただいているレンタルサーバ「スタンダード」では設定不可です。On「.htaccess」に上のように記述すると設定できるのですが、下記「さくらのサポート情報」様のページにありますように、「PHP_Flag」が入っていると500エラーとなります。「さくらのサポート情報」様の該当ページへのリンクhttpd.confにて設定(設定不可)※後程のphpの関数での設定で簡単に行えますので、詳しくは調べていませんこちらは私が利用させていただいているレンタルサーバ「スタンダード」では設定不可です。Value」を「On」にすることができました。Value」は「Off」です。エラー表示したいphpファイルに上を記述します。)」が記述された以降のエラーが表示されますので、チェックしたい箇所より前に記述しましょう。単純にphpファイルの最初の方に記述してしまえばOKです。WordPressであれば、「header.php」等に記述すると全ページに適応されます。サイトの公開時にはこの部分をコメントアウトにしておくと、問題が起きたときに調査しやすいかと思います。本題:「display_errors」は「On」にしたがエラー表示ができなかった上記「phpの関数「ini_set」にて設定」でエラー表示を「On」にできましたが、なぜかエラーが表示されません。?>エラーを意図的に出すために「$arr[“number”];」のみ記述しました。エラーを出すためですので、他の処理は何もありません。variable)」というエラーを期待していました。エラーが表示されない原因は?「error_reporting()」を確認・設定することで判明しました。error_reporting()で「エラー種類」を確認してみると「E_RECOVERABLE_ERROR」に近い値が設定されていました。「E_RECOVERABLE_ERROR」というエラー種類は「致命的なエラーを表示させるもの」なので、表示させるエラーの対象はかなり狭いと思われます。よって、私が期待していたエラーは表示されていなかったようです。厳密には違う可能性が高いように思いますが、error_reportingによって、違うエラー種類を試してみようと推測できました。曖昧な内容ですみません。error_reporting(E_ALL);↑このように設定を行うことで漸くエラーが表示されるようになりました。「E_ALL」はサポートされるすべてのエラー・警告を表示する設定です。本公開前のデバッグ用であれば、特に問題ないように思いますが、もう少し「エラー種類」の選定は精査した方が良さそうです。余談:E_RECOVERABLE_ERRORやE_ALLについて注釈この部分の内容は私がこうかな?と思った内容を書いています。厳密な内容は、もう少し複雑なのかなと思います。下記のような感じで単純に考えることで、イメージしやすいかなと思います。今回はそのお蔭で、解決のために試せることが増え、解決に至りました。よって、余談として掲載させていただきました。話半分で見ていただければと思います。「E_ALL」や「E_RECOVERABLE_ERROR」とは数値を分かりやすくするために、用意された定数(名前)です。実際は、「E_ALL」が『32767』、「E_RECOVERABLE_ERROR」が『4096』という数値です。この数値は10進数ですがこれを2進数で見ると意味が分かるような気がしてきます。32767(10進数)=111111111111111(2進数)、4096(10進数)=1000000000000(2進数)。「1」の部分がエラー表示する箇所と考えられます。「E_ALL」の方はすべて表示となっており、「E_RECOVERABLE_ERROR」は1つのみ「1」です。実際は、「4177」でしたので、「1000001010001」となります。「E_RECOVERABLE_ERROR」と比べると「1」が多いですが、「E_ALL」と比べると格段に少ないです。よって、恥ずかしながら、「エラー表示が少ない」を「エラーが表示されない」と私は錯覚していたわけです。それが原因で少しハマってしまいました。他のサーバを触る際には気を付けようと思います。『Atom』で一括検索(プロジェクト内検索)ができない。勘違いした原因は?【Wordpress】SSL対応を行った後、管理画面で「このページにアクセスする権限がありません。【Python】Anacondaをインストール。【WP】解除したい!『現在メンテナンス中のため、しばらくの間ご利用いただけません。【Python】2.画像からHTMLを自動生成する仕組み※深層学習ではありません~for文減少への追求~【Python】1.はじめに~for文減少への追求~【読書】読んでいる途中ですぐ読み直す。