SymptomsOn a Plesk for Linux server, the menu
Extensions fails to open:
ERROR: Declaration of DI\CompiledContainer::get($name) must be compatible with
DI\Container::get(string $id): mixed (CompiledContainer.php:41)
PHP Fatal error: Declaration of DI\CompiledContainer::get($name) must be compatible
with DI\Container::get(string $id): mixed in
/usr/local/psa/admin/plib/modules/nodejs/vendor/php-di/php-
di/src/CompiledContainer.php on line 41
- The menus of various extensions, like Domains>example.com>Node.js fail to open with the same error.
- The same error is found in the log file /var/log/plesk/panel.log.
CauseExtension(s) mentioned in the error is not up-to-date.
Resolution- Connect to the server via SSH.
- Reinstall extension(s) mentioned in the error:
#plesk bin extension --install <extension name>
where <extension name> is the name of the extension mentioned after /usr/local/psa/admin/plib/modules/
in the error message. Use lowercase letters only in the command.
For example: if /usr/local/psa/admin/plib/modules/nodejs/... is mentioned in the error, then use the
command:
#plesk bin extension --install nodejs