MDL-77185 session: Fix undefined disk_free_space

Fix PHP fatal error "Call to undefined function
core\session\disk_free_space()" when disable_functions=disk_free_space.
Prior to PHP 8.0 this error was suppressed by '@'.

Co-authored-by: Federico Alvarez <[email protected]>
This commit is contained in:
Leon Stringer
2024-12-31 15:34:42 +00:00
co-authored by Federico Alvarez
parent 7d6f282aef
commit de059dbfe0
+3 -3
View File
@@ -53,9 +53,9 @@ class file extends handler {
}
// Need to disable debugging since disk_free_space()
// will fail on very large partitions (see MDL-19222).
$freespace = @disk_free_space($this->sessiondir);
// MDL-43039: disk_free_space() returns null if disabled.
if (!($freespace > 2048) and ($freespace !== false) and ($freespace !== null)) {
// Moodle supports disable_functions = disk_free_space (MDL-43039).
$freespace = function_exists('disk_free_space') ? disk_free_space($this->sessiondir) : false;
if (!($freespace > 2048) && ($freespace !== false)) {
throw new exception('sessiondiskfull', 'error');
}