I fixed it, using
Solution:
To fix this, you need to update the error_reporting configuration in /www/wwwroot/mail.domain.tld/program/lib/Roundcube/bootstrap.php to remove the deprecated E_STRICT constant.
Modify bootstrap.php:
In your bootstrap.php file, on line 29, you have:
$config = [
'error_reporting' => E_ALL & ~E_NOTICE & ~E_STRICT,
'display_errors' => false,
'log_errors' => true,
// Some users are not using Installer, so we'll check some
// critical PHP settings here. Only these, which doesn't provide
// an error/warning in the logs later. See (#1486307).
'mbstring.func_overload' => 0,
];
Since E_STRICT is no longer supported in PHP 8.4, simply remove ~E_STRICT from the error_reporting line. This will avoid the deprecated warning.
Updated Code:
$config = [
'error_reporting' => E_ALL & ~E_NOTICE, // Removed ~E_STRICT
'display_errors' => false,
'log_errors' => true,
'mbstring.func_overload' => 0,
];
Explanation:
E_ALL: This flag represents all errors, warnings, and notices.
~E_NOTICE: This excludes notices from being shown.
- Removing
~E_STRICT: As E_STRICT is deprecated and removed in PHP 8.0+, you no longer need it.
Once you update the file, the deprecation warning should disappear, and your Roundcube installation will be compatible with PHP 8.4.