5

新しい開発環境にインストールされた codeigniter アプリをデバッグした後、何も利用できない白い画面を見てびっくりし始めました。これを引き起こしたすべてのエラーを解決することができましたが、非常に長い時間がかかりました.

PHP error_reporting(E_ALL)&display_errors", 1も設定されています。より多くの出力を得ることを期待してXdebugをインストールしましたが、そうではありません。ログ設定も機能していますが、ログには何も書き込まれません。

完全な白い画面の代わりに、有益な情報を印刷する方法はありますか? これにより、最終的に発生するエラーの解決に費やす時間が確実に短縮されますか?

どうもありがとう!

参照: Code Igniter でホワイト ページが表示されるのはなぜですか?

4

11 に答える 11

10

致命的なコンパイル エラーが発生した場合は、空白のページが表示される可能性があります。してみてください

php -l <filename.php>

あなたのスクリプトに対して

于 2010-05-26T15:04:08.003 に答える
4

/index.php-の呼び出しについては、上部の近くを見て、構成が他の何かにerror_reporting()変更されていないことを確認してください(以外)。php.iniE_ALL

また、構成について言及していないので、php.ini構成もあることを確認してくださいerror_reporting = E_ALL

于 2010-05-26T15:08:54.357 に答える
4

質問の時点から、PHP でエラーが常に出力されることを保証するものは何もないように思われることがわかりました。PHP はあちこちで白い画面をスローするようです。PHP の ini 設定に関係なく。

ただし、最善の回避策は、次の行を使用して、アプリケーションが簡単にアクセスおよび監視できるファイルにエラー ログを記録することであることがわかりました。

ini_set('error_log', MYPATH .'logs/errorlog.log'); 

私がテストした限り、白い画面が表示されると、このエラーログにも記録されます。問題が発生したときに何が起こるかを知る最も簡単な方法のようです。

于 2011-02-26T11:05:40.340 に答える
3

'error_reporting' と 'display_errors' のファイルを grep します。アプリケーションがどこかでそれをオフにする可能性があります。

また、解析エラーを確認できるようにするには、php.ini ファイルまたは .htaccess ファイルで error_reporting/display_errors を設定する必要があります。スクリプト ファイルで設定してもうまくいきません。解析エラーがあります。

于 2010-05-26T18:51:58.457 に答える
2

投稿された他のすべてのものとは別に、@(エラー抑制演算子) でマスクされた何かが致命的なエラーをスローしていないことも確認してください。

于 2010-05-27T18:27:08.960 に答える
2

CI のデフォルトはすでに

error_reporting(E_ALL);
  1. 同名のコントローラとモデル
  2. 予約語をメソッドとして使用する

リストは続きます..

于 2010-05-27T02:41:18.600 に答える
1

/system 内のログとキャッシュ フォルダーが 777 に chmod されていることを確認します。

于 2010-05-26T18:28:43.013 に答える
1

PHP の error_log 構成変数を設定することを検討しerror_reporting()てください。知らないうちにコードを設定している場合に役立ちます。その後、エラー ログをチェックして、発生したエラーを確認できます。

于 2010-05-26T15:39:42.017 に答える
1

新しくインストールしたサーバーでこの問題が発生しました。Debian 7. ロギング、エラー報告を有効にし、gzip を無効にしました。

ただし、私の PHP インストールでは MySQL が有効になっていませんでした。MySQLを有効にするとうまくいきました。

于 2013-07-16T13:38:43.350 に答える
0

たまたま、コントローラー内でその特定のメソッドのキャッシュされた出力を作成したことがありますか。その場合、キャッシュされたバージョンのページが作成され、実際にはそのページは実行されていない可能性があるためです。キャッシュされたエラー出力ページが表示されています。アプリケーション内のキャッシュ フォルダを確認してください。index.html ファイルのみを含める必要があります。

于 2016-05-04T03:13:13.193 に答える
0

特に圧縮がオンになっている場合は、CI バッファーの外側にあるファイル出力に空白がないことを確認してください。これは、CI 構成ファイルで圧縮をオフにすることでテストできます。

次の手順 2 を参照してください: http://codeigniter.com/user_guide/installation/upgrade_141.html (これはアップグレード用ですが、問題を説明する構成ファイルのスニペットが含まれていることに注意してください)。

于 2010-05-26T15:53:17.300 に答える