MDL-70901 backup: check handle before calling fclose()

@fclose no longer catches error in PHP 8.0 when handle is null
This commit is contained in:
Marina Glancy
2021-02-22 16:19:37 +01:00
parent af0040445a
commit 8b5bd4fb00
+9 -2
View File
@@ -50,11 +50,18 @@ class file_logger extends base_logger {
}
public function __destruct() {
@fclose($this->fhandle); // Blindy close the file handler (no exceptions in destruct)
if (is_resource($this->fhandle)) {
// Blindy close the file handler (no exceptions in destruct).
@fclose($this->fhandle);
}
}
public function __sleep() {
@fclose($this->fhandle); // Blindy close the file handler before serialization
if (is_resource($this->fhandle)) {
// Blindy close the file handler before serialization.
@fclose($this->fhandle);
$this->fhandle = null;
}
return array('level', 'showdate', 'showlevel', 'next', 'fullpath');
}