Sysvsem message after upgrade to Nextcloud 26

I just upgraded to nextcloud 26 and now get the following notification in administration security and settings warnings section. its new to this version.

This instance is missing some recommended PHP modules. For improved performance and better compatibility it is highly recommended to install them.

  • sysvsem

What are the implications of not having this. I have asked my hoster and they say they don’t install it by default but imply they could if really necessary.

What is Nextcloud using sysvsem for and what are the implications of not having it?

It is implemented in this comit to Limit-number-of-concurrent-preview-generations

If the php-sysvsem extension is not available, it will have implications for the functionality of your server in terms of coordinating parallel processes during preview/thumbnail generation. The use of System V semaphores allows for secure synchronization and control of access to shared resources to avoid conflicts and inconsistencies.

Without the php-sysvsem extension, your server may not be able to achieve effective coordination among the parallel processes. This can lead to issues such as resource conflicts, inconsistent results, or even errors during preview/thumbnail generation.

It’s important to note that this heavily depends on the specific context and requirements of your installation. If preview generation is a critical aspect of your Nextcloud instance and parallel processes need to be coordinated for smooth operation, the absence of the php-sysvsem extension can result in noticeable drawbacks.

I myself am a bit surprised that this was implemented here. It’s worth noting that System V Semaphores are one of the older IPC mechanisms, and newer mechanisms like POSIX semaphores and mutexes are generally preferred in modern applications. However, the php-sysvsem module provides an interface to work with the System V Semaphore functions if working with legacy code that relies on System V Semaphores, which is not actually the case for Nextcloud… :thinking:

Please help me! How to install php-sysvsem. I running Debian 11, Nextcloud 26.0.1, PHP 8.2.6.

I run command: sudo apt install php8.2-sysvsem. This is result:

Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
Note, selecting ‘php8.2-common’ instead of ‘php8.2-sysvsem’
php8.2-common is already the newest version (8.2.6-1+0~20230512.20+debian11~1.gb
pf965ac)
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Then i checked by run php -m and result consist of “sysvsem” module. But Nextcloud’s overview page still display this message:

  • This instance is missing some recommended PHP modules. For improved performance and better compatibility it is highly recommended to install them.
    sysvsem

Thank you!

What ht-server? I assume apache2 in my answer:

As a common source of error, you should check if there is no version mismatch. To do this, run:

dpkg -l | awk ‘/^ii.*php/ {print $2}’

and (if apache2 is indeed the used web server):

apachectl -tD DUMP_INCLUDES | sed -n '/php.*conf/ s#.*/\([^/]*\)\.conf#\1#p'

Much luck.