Linux、Apache、PostgreSQL、PHP の本番環境で、アプリケーションの複数のポイントでランダムな間隔で突然このエラーが発生し始めました。本番環境のコードは 7 週間更新されていません。その更新は PHP 5.3 へのアップグレードです (互換性のための関連するコードの変更を伴います)。
昨日Apacheを再起動しましたが、エラーの頻度は減ったようですが、再び起動しました(そしてかなり定期的になりました)。昨日もAPCモジュールを無効にしましたが、うまく機能しているように見えますが、エラーが再び発生しています。
コードが変更されておらず、エラーが奇妙な場所に表示されているため、私は非常に困惑しています。
function __destruct() {
if ($this->startTransaction) <<< exception here
$this->connection->commitTransaction();
}
if (!is_null($this->timestamp)) { << exception here, timestamp is a private variable
オブジェクト自体によって呼び出されている場合、どうすれば $this を非オブジェクトにすることができますか??
これらのエラーが突然表示される原因は何ですか? からのメモリ統計は次のtop
とおりです。
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 6285148k total, 5794020k used, 491128k free, 332644k buffers
Swap: 1048568k total, 764k used, 1047804k free, 4671488k cached