2017-04-18 10 views
0

PHPセッションが書き込み可能でない場合、エラーを検出してスローする方法はありますか?PHPセッションに書き込みができないときにエラーを投げますか?

大きなコードベースでは、セッション変更コードの前にsession_write_close()が呼び出されたかどうかを知ることは困難です。セッションを更新していると思うと、実際には書き込み可能でない可能性があります。これは気付かないことがあります。

+2

'session_statusだろう()!== PHP_SESSION_ACTIVE'? – frz3993

+0

@ frz3993これは有効です。ありがとうございました。なぜそれを答えとして提出しないのですか? – Haluk

答えて

1

セッションのステータスを確認できます。 session_write_close()と呼ばれてきた後

if (session_status() !== PHP_SESSION_ACTIVE) { 
    //PHP 7 
    throw new Error(); 
    } 

ステータスがPHP_SESSION_NONE

+0

これは良い答えです。ありがとうございます。これを私のコードで少し補完しました。 私はsession_write_close()の周りにラッパー関数を書いて、書き込みが閉じられる直前にセッション配列の内容を保持できるようにしました。 私のスクリプトの一番下に私はあなたのコードを使用し、現在のセッションとセッションの保存された内容を比較します。違いがある場合は、「セッション書き込みが書き込み不能セッションに試みられました」のようなエラーが表示されます。 – Haluk

関連する問題