|
|
@@ -28,6 +28,7 @@ class BufferHandler extends AbstractHandler
|
|
|
protected $bufferLimit;
|
|
|
protected $flushOnOverflow;
|
|
|
protected $buffer = array();
|
|
|
+ protected $initialized = false;
|
|
|
|
|
|
/**
|
|
|
* @param HandlerInterface $handler Handler.
|
|
|
@@ -42,9 +43,6 @@ class BufferHandler extends AbstractHandler
|
|
|
$this->handler = $handler;
|
|
|
$this->bufferLimit = (int) $bufferLimit;
|
|
|
$this->flushOnOverflow = $flushOnOverflow;
|
|
|
-
|
|
|
- // __destructor() doesn't get called on Fatal errors
|
|
|
- register_shutdown_function(array($this, 'close'));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -56,6 +54,12 @@ class BufferHandler extends AbstractHandler
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
+ if (!$this->initialized) {
|
|
|
+ // __destructor() doesn't get called on Fatal errors
|
|
|
+ register_shutdown_function(array($this, 'close'));
|
|
|
+ $this->initialized = true;
|
|
|
+ }
|
|
|
+
|
|
|
if ($this->bufferLimit > 0 && $this->bufferSize === $this->bufferLimit) {
|
|
|
if ($this->flushOnOverflow) {
|
|
|
$this->flush();
|