26.0 PHP extension sysvsem

Nextcloud 26 wants the PHP extension sysvsem to be enabled, which was not the case in version 25. What is the difference?

I’m not a developer, so I’m not sure. Either it is a new requirement or it was enabled on your system before and now it isn’t? But anyway, if Nextcloud says it would like to use this extension, I would just install it.

Unfortunately, you didn’t provide any details about your instance at all, so I can only say that with PHP ≥8.0, on Debian / Ubuntu based distributions, sysvsem is included in php-common and should be enabled by default after installing the package. In other distributions and / or with older PHP versions it might be a separate package.

We are on PHP 8.1. The extension sysvsem wasn’t enabled before, I can enable it, no problem. However NC seems to be slower when it’s enabled (subjective observation).

Sorry, not an expert on this… Maybe someone else can explain what it does or how it might impact performance.

It limits the amounts of previews getting generated at the same time. See Limit number of concurrent preview generations by dbw9580 · Pull Request #18210 · nextcloud/server · GitHub
You can adjust the config with preview_concurrency_all and preview_concurrency_new if the defaults should be too low for your system.

3 Likes

How exactly did you enable the module? In what config file?
Im running php8.1 (apache2) on opensuse but I don’t know how to enable this module, is it installed by default?

thanks in advance

Yes.

You can see with:

php -i | grep sysvsem

ok thanks! so:

php -i | grep sysvsem : --enable-sysvsem=shared
php -m | grep : no output

So this means I need to activate the module somewhere, but after a lot of Googling I cannot find in which configuration file I need to do this on opensuse,
in what folders can I look?

For Debian based Linuxes there is: phpenmodule
But how to do it with RedHat based distributions?

Thanks in advance

I am no suze expert but as far as I can see (searching in the same internet), there is a package php8-sysvsem on suze.

Try something like this:

su -

enter rootpassword
than run the following commmands:

zypper refresh
zypper install php8-sysvsem

But as I wrote, I am not a suze expert.

https://software.opensuse.org/download/package?package=php8-sysvsem&project=openSUSE%3AFactory

I was reading everywhere I needed to “enable” or “activate” the php module as it is already included in apache2-php. And I could not find where or how…

but no one told me before I just needed to install it trough my package manager (zypper)

so I own you a big thank you for this simple solution!

1 Like