0

私は自分のサイトのモジュールにcodeigniter2を使用しています。これは本番環境での最初の実行です。

num_rows()は次のエラーをスローします

PHPエラーが発生しました

重大度:警告

メッセージ:Home :: index()[home.index]:システムのタイムゾーン設定に依存するのは安全ではありません。date.timezone設定またはdate_default_timezone_set()関数を使用する必要があります。これらの方法のいずれかを使用してもこの警告が表示される場合は、タイムゾーン識別子のスペルを間違えている可能性があります。代わりに、「IST / 5.0/DSTなし」に「アジア/カルカッタ」を選択しました

ファイル名:controllers / home.php

行番号:18

18行目にはecho$category-> num_rows();があります。

次に、次のようにコードを更新しました

function __construct()
{
    date_default_timezone_set('UTC');
    parent::__construct();
}

ページをリロードすると、

HTTPエラー500(内部サーバーエラー):サーバーが要求を実行しようとしたときに、予期しない状態が発生しました。

何が問題なのですか?

この特定のエラーを隠す可能性はありますか?

サーバー側の設定と関係がありますか?

4

1 に答える 1

0

問題はタイムゾーンではありません。

ログを確認したところ、致命的なエラーが発生し、codeigniterが500ステータスをブラウザに送信していることがわかりました。

ini_set('display_errors'、1)を実行すると、CIは500ステータスをクライアントに送信する代わりに、実際のエラーを表示しました。

したがって、この時点で、本番環境のすべてのエラーをオフにするか、すべての初期競合(エラー)を表示できるようにして(場合によっては本番環境で開発が異なるため)、テストドライブ後に再びすべてのエラーを非表示にします。

stackoverflowでこの投稿を読んでいる間に情報を入手しました

Codeigniterはエラーメッセージの代わりに空白のページを表示します

さらに、各コントローラーでタイムゾーンを設定する代わりに、index.phpで設定します。

于 2012-11-27T10:44:15.477 に答える