Jun 7, 2019
15
1
3
United States
cPanel Access Level
Root Administrator
Good day,
I'm running WHM 110.0.2 on AlmaLinux v8.7.0 STANDARD vzcontainer. The PHP version is 8.1. NextCloud Hub was just updated to the latest version, 26.0.1. It gives a warning:
This instance is missing some recommended PHP modules. For improved performance and better compatibility it is highly recommended to install them.
  • sysvsem
This warning was also given with version 26.0.0.

The cPanel documentation indicates that the sysvsem extension is already installed, but I can't confirm that. I suspect that something changed with PHP 8.0. There is a
SysvSemaphore class mentioned at www.php.net/manual/en/class.sysvsemaphore.php, "A fully opaque class which replaces a sysvsem resource as of PHP 8.0.0."

Perhaps the cPanel documentation, mentioned above, shouldn't include sysvsem, and perhaps NextCloud is mistaken to give the above warning. Since others are probably wondering the same thing, it may be useful to figure out what's going on here.
Thanks!
Chris
 
Last edited by a moderator:

cPRex

Jurassic Moderator
Staff member
Oct 19, 2014
16,617
2,624
363
cPanel Access Level
Root Administrator
Hey there! sysvsem is a default included with PHP, so the best way to see that is to create a PHP info page on your domain and then you'll see this when visiting that page in a browser:

'--enable-sysvsem=shared'

I did confirm this on a PHP 8.1 system - let me know if you need more details from my end!
 

Barry Johnson

Member
Jan 8, 2017
15
4
53
Australia
cPanel Access Level
Root Administrator
Using cPanel 110.0.5 and PHP 8.1 for my NextCloud instance. And 'sysvsem' seems to be missing. Extracting from the "phpinfo" page:

PHP Version 8.1.18
System: Linux ******* 3.10.0-1160.88.1.el7.x86_64 #1 SMP Tue Mar 7 15:41:52 UTC 2023 x86_64
Build Date: May 2 2023 21:19:36
Build System: Linux hou-1 5.3.18-150300.59.98-default #1 SMP Thu Oct 13 08:52:00 UTC 2022 (dfcde7e) x86_64 x86_64 x86_64 GNU/Linux
Configure Command: './configure' ... '--disable-sysvsem' ...


When I open a terminal and type 'php -m' I get the following, with no 'sysvsem' listed:

[PHP Modules]
apcu
bcmath
bz2
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gmp
hash
iconv
imagick
imap
intl
json
libxml
mbstring
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
Reflection
session
SimpleXML
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zip
zlib

[Zend Modules]
Zend OPcache
 
Last edited by a moderator:

Barry Johnson

Member
Jan 8, 2017
15
4
53
Australia
cPanel Access Level
Root Administrator
Reviewed stuff in MultiPHP Editor under both tabs, and found nothing that references sysvsem.

I have no /etc/cpanel/ea4/phpini_directives for custom directives.

Didn't see anything in .htaccess. or .user.ini files related to it.

I thought the Build Date (May 2 2023 21:19:36) and Build System (Linux hou-1) I posted earlier, indicates where, when, and how the code was built. And that's before the code gets to my machine. And I don't recall ever doing anything "special" to fiddle with what is installed on my machine, especially PHP-wise.

Fwiw, here's the complete Configure Command from the PHPInfo() page so you can check everything that the packaging generation did - and didn't!? - do:

'./configure' '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--program-prefix=' '--disable-dependency-tracking' '--prefix=/opt/cpanel/ea-php81/root/usr' '--exec-prefix=/opt/cpanel/ea-php81/root/usr' '--bindir=/opt/cpanel/ea-php81/root/usr/bin' '--sbindir=/opt/cpanel/ea-php81/root/usr/sbin' '--sysconfdir=/opt/cpanel/ea-php81/root/etc' '--datadir=/opt/cpanel/ea-php81/root/usr/share' '--includedir=/opt/cpanel/ea-php81/root/usr/include' '--libdir=/opt/cpanel/ea-php81/root/usr/lib64' '--libexecdir=/opt/cpanel/ea-php81/root/usr/libexec' '--localstatedir=/opt/cpanel/ea-php81/root/var' '--sharedstatedir=/opt/cpanel/ea-php81/root/var/lib' '--mandir=/opt/cpanel/ea-php81/root/usr/share/man' '--infodir=/opt/cpanel/ea-php81/root/usr/share/info' '--cache-file=../config.cache' '--with-libdir=lib64' '--with-config-file-path=/opt/cpanel/ea-php81/root/etc' '--with-config-file-scan-dir=/opt/cpanel/ea-php81/root/etc/php.d' '--disable-debug' '--with-password-argon2=/opt/cpanel/libargon2' '--with-pic' '--without-pear' '--with-bz2' '--with-freetype' '--with-xpm' '--without-gdbm' '--with-gettext' '--with-iconv' '--with-jpeg' '--with-openssl' '--with-zlib' '--with-layout=GNU' '--enable-exif' '--enable-ftp' '--enable-sockets' '--with-kerberos' '--enable-shmop' '--with-sodium=shared' '--with-libxml' '--with-system-tzdata' '--with-mhash' '--enable-fpm' '--with-fpm-systemd' '--libdir=/opt/cpanel/ea-php81/root/usr/lib64/php' '--without-mysqli' '--disable-pdo' '--enable-pcntl' '--disable-gd' '--disable-dom' '--disable-dba' '--without-unixODBC' '--disable-opcache' '--disable-xmlreader' '--disable-xmlwriter' '--without-sqlite3' '--disable-phar' '--disable-fileinfo' '--disable-json' '--without-pspell' '--without-curl' '--disable-posix' '--disable-xml' '--disable-simplexml' '--disable-exif' '--without-gettext' '--without-iconv' '--disable-ftp' '--without-bz2' '--disable-ctype' '--disable-shmop' '--disable-sockets' '--disable-tokenizer' '--disable-sysvmsg' '--disable-sysvshm' '--disable-sysvsem' '--without-gmp' '--disable-calendar' 'build_alias=x86_64-redhat-linux-gnu' 'host_alias=x86_64-redhat-linux-gnu' 'PKG_CONFIG_PATH=/opt/cpanel/ea-php81/root/usr/lib64/pkgconfig:/opt/cpanel/ea-php81/root/usr/share/pkgconfig:/usr/lib64/pkgconfig:/opt/cpanel/ea-openssl11/lib64/pkgconfig:/opt/cpanel/ea-libxml2/lib64/pkgconfig:/opt/cpanel/ea-libicu/lib/pkgconfig:/opt/cpanel/ea-oniguruma/lib64/pkgconfig:/opt/cpanel/libargon2/lib64/pkgconfig:/usr/lib64/pkgconfig' 'CFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -fno-strict-aliasing -Wno-pointer-sign ' 'CXXFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic' 'KERBEROS_CFLAGS=-I/usr/include' 'KERBEROS_LIBS=-L/usr/lib64' 'OPENSSL_CFLAGS=-I/opt/cpanel/ea-openssl11/include' 'OPENSSL_LIBS=-L/opt/cpanel/ea-openssl11/lib -lssl -lcrypto -lresolv' 'CURL_CFLAGS=-I/opt/cpanel/libcurl/include' 'CURL_LIBS=-L/opt/cpanel/libcurl/lib64 -lcurl' 'JPEG_CFLAGS=-I/usr/include' 'JPEG_LIBS=-L/usr/lib64 -ljpeg' 'SASL_CFLAGS=-I/usr/include' 'SASL_LIBS=-L/usr/lib64' 'ARGON2_CFLAGS=-I/opt/cpanel/libargon2/include' 'XSL_CFLAGS=-I/opt/cpanel/ea-libxml2/include/libxml2' 'XSL_LIBS=-L/opt/cpanel/ea-libxml2/lib64 -lxml2' 'LIBZIP_CFLAGS=-I/opt/cpanel/ea-libzip/include' 'LIBZIP_LIBS=-L/opt/cpanel/ea-libzip/lib64 -lzip'
 

tholler

Member
May 24, 2016
10
0
51
Germany
cPanel Access Level
Root Administrator
Hello,
I also can confirm the problem, that sysvsem is shown as disabled in phpinfo.php and I don't find a way to enable it.

The problem occoures under php81 fpm.

Regards
Thorsten
 

quietFinn

Well-Known Member
Feb 4, 2006
2,042
551
493
Finland
cPanel Access Level
Root Administrator
In an account with PHP 8.1, in phpinfo, Configure Command, I see '--enable-sysvsem=shared' ', but if I turn PHP-FPM ON for that account I see '--disable-sysvsem'
 
  • Like
Reactions: cPRex

Barry Johnson

Member
Jan 8, 2017
15
4
53
Australia
cPanel Access Level
Root Administrator
Sorry, should've checked to include it in my previous post: turned off FPM on all accounts, including cPanel daemons on the Service manager panel. phpinfo() shows "shared" for the NextCloud-hosting account. But NextCloud's Adminsitration Overview page still shows `sysvsem` as missing!?
 

Barry Johnson

Member
Jan 8, 2017
15
4
53
Australia
cPanel Access Level
Root Administrator
I'd be prepared to do that, but I'm guessing you'd like access to my server. I'm currently focused on my CentOS-to-AlmaLinux migration. (Alas, scripted update not an option for VPS.) Maybe in a week or two if all goes well ... or, perhaps, someone else is in a position to help before then?