1.9.9 to 1.10.5 panel update

just updated the panel and i got this

! ] Upgrading Roundcube to version 1.7.4…
ERROR: update.sh failed (Roundcube 1.6.17 → 1.7.4)
[ ! ] Error upgrading Roundcube 1.7.4

how to fix this ? and when i visit the web mail page

Oops… something went wrong!

An internal error has occurred. Your request cannot be processed at this time.

error log (/var/log/roundcube/errors.log) had these lines:

  • Unknown column ‘expires_at’ in ‘INSERT INTO’ (session)
  • Call to undefined function array_last()
  • Call to undefined function system()

I followed some advice and ran these commands, and webmail works now:

sed -i -E 's/(^disable_functions.*),system(.*$)/\1\2/' /etc/php/$(php -v | head -n1 | grep -o '[0-9]\.[0-9]')/cli/php.ini
v-add-user-composer admin
cd /var/lib/roundcube
COMPOSER_ALLOW_SUPERUSER=1 /home/admin/.composer/composer -n update
php -d disable_functions= bin/update.sh

After that I put “system” back into the disable_functions line in the same php.ini file.

Composer installed a bunch of new packages, including symfony/polyfill-php85. The last command said “This instance of Roundcube is up-to-date.”

My questions:

  1. Is this the correct way to fix it?
  2. Did I do anything wrong or risky that I should undo?
  3. Is there anything else I should check to make sure Roundcube is fully OK?

Thanks!

What OS you are using?

It’s a way :slight_smile: v-add-sys-roundcube should have managed that but it’s ok the way you finished the update.

Just once thing, you didn’t need this command:

sed -i -E 's/(^disable_functions.*),system(.*$)/\1\2/' /etc/php/$(php -v | head -n1 | grep -o '[0-9]\.[0-9]')/cli/php.ini

because the last command enable all functions just for the bin/update.sh command.

php -d disable_functions= bin/update.sh

But you added again the functions so all looks good.

No.

All should work fine now.