When things have been running for long enough various updates and configuration changes start adding up with leftovers bound to cause an issue sooner or later. With Virtualmin, one such issue is the system’s inability to automatically update its scripts to newer versions based on the incorrect detection that an older PHP version is running on the server instead of the actual one.
The error messages are completely wrong since the server was in fact running PHP 7.4 (but it has run 5.6 at some earlier point in its history).
Upgrading phpMyAdmin to version 4.9.10 .. .. failed dependencies :
PHP version 5.6 or later is required, but this virtual server is using version 7.2
Upgrading RoundCube to version 1.4.13 .. .. failed dependencies :
PHP version 5.4.1 or later is required, but this virtual server is using version 7.2
Thankfully, Virtualmin also provides command line functionality to perform script updates, and this was able to avoid the wrong detection and do its job as expected. The process is relatively simple, but it does require manually running commands for each script installation and each hosted server, respectively. On a large server, these can add up.
Run the following command to get a list of installed scripts on the respective server:
virtualmin list-scripts --domain host.domain.tld
And then use the appropriate information to fill in the command to manually update the specific scripts:
virtualmin install-script --domain host.domain.tld --type scriptname \ --version "latest" --upgrade 123456789012345
See detailed install-script parameters here.