2011-02-08 12 views
0

オープンソースのWebアプリケーションを調べています。それはそれはしかし、編集されたコードはすべてのエラーを持っていない古いコードの古いエラーをキャッシュするように見えるので、それが私を悩ますこのコードerror_get_last関数のキャッシュエラー?

$last_error = error_get_last(); 
if($last_error['type'] === E_ERROR || $last_error['type'] === E_PARSE) { 
    include 'error.php'; 
} 
if (ob_get_length()) ob_end_flush(); 

のようにerror_get_last機能を使用するという問題があります。したがって、しばらくの間、古いエラーが表示されます。誰もがこの問題を解決する方法を知っていますか?任意の助けてくれてありがとうは

編集:は、私は()のコードが機能error_get_lastは何もキャッシュしない要求

function __shutdown() { 
    $logger_session = Logger::getSession(); 
    if (($logger_session instanceof Logger_Session) && !$logger_session->isEmpty()) { 
     Logger::saveSession(); 
    } // if 
    $last_error = error_get_last(); 
    if($last_error['type'] === E_ERROR || $last_error['type'] === E_PARSE) { 
     include 'error.php'; 
    } 
    if (ob_get_length()) ob_end_flush(); 
    } // __shutdown 
+0

どのようなエラーがありますか?私たちは推測する必要がありますか? – zerkms

+0

普及しているオープンソースのWebアプリケーションですか?オープンソースの名前を知ることができますか? –

+0

@ Zerkms:コードを編集していくつかのエラーが発生した場合、それらのエラーは修正されましたが、それらのエラーは引き続き発生しました。 – coolkid

答えて

1

の最後に実行します。ここで、関数__shutdownを示し、それはsubstrのようなだけの機能です他のすべて。表示されているものがキャッシュされているように見える場合、キャッシュは別の場所で行われます。おそらく、間違ったファイルを編集している(または実際にエラーを修正していない)、オペコードや出力キャッシュなどがあるかもしれません。

+0

ProjectPierをインストールし、エラーを表示するための無効なコードを追加してテストしてください。その後、無効なコードを削除して安定版に戻しても、エラーは表示されますか? – coolkid

+0

私はそれをインストールする必要はありません。 'error_get_last'は、発生した最後のエラーを報告する組み込みのPHP関数です。要求の処理中にエラーが発生しないようにコードを修正すると、この関数はNULLを返します。マニュアルは存在しません。 – rik

+0

最後のPHPスクリプトの最後のエラーですか?したがって、スクリプトの最後で実行中のPHPスクリプトのエラーを取得するために、このメソッドを使用することはできません。それは開発環境で古いコードの古いエラーを返す可能性があるからです。 – coolkid