0 votes
in SoSci Survey (dt.) by s357485 (130 points)

Hi,

beim Versuch das Update von 3.7.06 auf 3.8.08 durchzuführen bin ich auf 2 Fehler gestoßen:

1) Systemdateien haben laut der Prüfung durch die install.php nicht die korrekte Version (siehe Anhang)

2) Beim Versuch Server-Settings zu ändern und zu speichern über die admin-Oberfläche wird folgender Fehler geloggt:

[10-Sep-2026 14:53:35 Europe/Berlin] PHP Fatal error: Uncaught Error: Call to undefined function sodium_crypto_secretbox_keygen() in /var/www/html/static/sosci/inc/ServerManager.php:2448
Stack trace:
#0 /var/www/html/static/sosci/inc/ServerManager.php(575): ServerManager->rotateOAuthKey()
#1 /var/www/html/static/sosci/s2survey/gui/AdminIndex.php(257): ServerManager::handleRequest()
#2 /var/www/html/static/sosci/admin/index.php(15): s2survey\gui\AdminIndex::handleRequest()
#3 {main}
thrown in /var/www/html/static/sosci/inc/ServerManager.php on line 2448
[10-Sep-2026 14:53:56 Europe/Berlin] PHP Fatal error: Uncaught Error: Call to undefined function sodium_crypto_secretbox_keygen() in /var/www/html/static/sosci/inc/ServerManager.php:2448
Stack trace:
#0 /var/www/html/static/sosci/inc/ServerManager.php(575): ServerManager->rotateOAuthKey()
#1 /var/www/html/static/sosci/s2survey/gui/AdminIndex.php(257): ServerManager::handleRequest()
#2 /var/www/html/static/sosci/admin/index.php(15): s2survey\gui\AdminIndex::handleRequest()
#3 {main}
thrown in /var/www/html/static/sosci/inc/ServerManager.php on line 2448

Mit der bitte um Unterstützung!

1 Answer

0 votes
by SoSci Survey (380k points)

Diese Fehlermeldung deutet darauf hin, dass Sie nicht alle Dateien aus dem Installationspaket auf den Server kopiert haben - entweder es wurden von Vornherein nicht alle Dateien entpackt oder das Kopieren scheiterte an Zugriffsrechten.

Bitte nehmen Sie die erste Datei aus dem ersten Screenshot zum Testen und versuchen Sie, diese durch die aktualisierte Version aus dem ZIP zu ersetzen.

by s357485 (130 points)
edited by s357485
Ich habe für das Übernehmen der neuen Verzeichnisse rsync verwendet und tatäschlich wurden nicht alle Dateien neu kopiert, da rsync scheinbar teilweise nicht erkennen konnte, dass sich die Datei geändert hat. Ich habe die rsync Parameter nun so angepasst, dass die Dateien aus der Quelle die Dateien aus dem Ziel immer überschreiben. Jetzt werden keine Dateien mehr als fehlerhafte Version angezeigt.

Leider bekomme ich beim Speichern der Server-Einstellungen nach wie vor den Fehler:

[10-Sep-2026 22:43:34 Europe/Berlin] PHP Fatal error:  Uncaught Error: Call to undefined function sodium_crypto_secretbox_keygen() in /var/www/html/static/sosci/inc/ServerManager.php:2448
Stack trace:
#0 /var/www/html/static/sosci/inc/ServerManager.php(575): ServerManager->rotateOAuthKey()
#1 /var/www/html/static/sosci/s2survey/gui/AdminIndex.php(257): ServerManager::handleRequest('settings', Object(ErrorRegister))
#2 /var/www/html/static/sosci/admin/index.php(15): s2survey\gui\AdminIndex::handleRequest()
#3 {main}
  thrown in /var/www/html/static/sosci/inc/ServerManager.php on line 2448

Vermutlich fehlt für diese neue Funktionalität inder ServerManager.php das Modul "php-sodium". Dieses wird aber leider bei den Redhat UBI-9/php-8.x Images nicht mehr mitgeliefert. Gibt es eine Möglichkeit diesen Aufruf zu umgehen, damit wir sodium nicht "kompliziert" nachinstallieren müssen?

Herzlichen Dank!
by SoSci Survey (380k points)
Danke für die neuen Infos. Eigentlich sollte Sodium seit PHP 7.2 fester Bestandteil von PHP sein: https://www.php.net/manual/en/sodium.installation.php

Ich vermute daher, dass Sie entweder eine ältere PHP-Version einsetzen (wovon ich abraten würde, weil PHP 7.2 wirklich schon sehr alt ist: https://www.php.net/supported-versions.php) oder dass RedHat in PHP ein eigenes Süppchen kocht: https://rhel.pkgs.org/9/okey-x86_64/php-sodium-8.0.30-2.el9.x86_64.rpm.html

Welche PHP-Version verwenden Sie denn genau?
by s357485 (130 points)
Wir verwenden das Redhat UBI-9 PHP 8.3 Image:

php -v
PHP 8.3.33 (cli) (built: Jul 28 2026 17:56:10) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.3.33, Copyright (c) Zend Technologies
    with Zend OPcache v8.3.33, Copyright (c), by Zend Technologies

Leider ist hier das sodium modul nicht enthalten:

php -m              
[PHP Modules]
apcu
bcmath
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gettext
gmp
hash
iconv
intl
json
ldap
libxml
mbstring
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_pgsql
pdo_sqlite
pgsql
Phar
posix
random
readline
redis
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tokenizer
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zip
zlib

[Zend Modules]
Zend OPcache
by SoSci Survey (380k points)
Könnten Sie bitte prüfen, ob dieses RHL-Package das Modul ergänzt:
https://rhel.pkgs.org/10/epel-x86_64/php-sodium-8.3.31-1.el10_3.x86_64.rpm.html

Schade, dass die Information offenbar inkorrekt ist, dass Sodium ab 7.2 verlässlich verfügbar sei. Wir nehmen das Modul in die Prüfung im Setup-Script auf.
by s357485 (130 points)
Dieses Modul steht scheinbar nur für RHEL 10 zur Verfügung. Unsere Umgebungen basieren aktuell auf RHEL 9. In diesem Repo-Zweig hätte ich kein sodium Package gefunden. Wir evaluieren parallel, ob ein Umstieg auf ein alternatives Container-Image bspw. "php:8.3-fpm" in unserer Infrastruktur möglich ist.
by SoSci Survey (380k points)
Unter RHEL 9 ist es wohl tatsächlich nicht so einfach. Schade. Eine mögliche Lösung könnte es sein, auf den Remi-Stream zu wechseln.

Die aktuelle Version von SoSci Survey verwendet Sodium, um die Ablage von Zugangsdaten in der Datenbank (z.B. für den Serienmailversand) sicherer als bisher zu gestalten. Es gäbe ein Polyfill, welches die Funktionalität im Bedarfsfall per PHP-Script nachrüsten könnte, aber ich vermute, Sie brauchen eine etwas kurzfristigere Lösung.
by s357485 (130 points)
Wir müssen nicht zwingend ein UBI-Image von Redhat nutzen. Welches Image würden Sie für die Nutzung von Sosci in der aktuellen Programmversion empfehlen? Unser Vorschlag wäre

https://hub.docker.com/hardened-images/catalog/dhi/php/images/php%2Fdebian-13%2F8.4-fpm/sha256-25283c557cb876d59afaf177d6c8abf3715f626d923ad13340d56c8e1fbf5be9

Bitte um Info, ob Sie diese Empfehlung teilen, oder eine Alternative vorschlagen können.

Herzlichen Dank!
by SoSci Survey (380k points)
Zu einzelnen Images kann ich keine Empfehlungen aussprechen. Wir arbeiten auf den meisten Systemen mit Debian oder Ubuntu. Für den Betrieb mit nginx, was sich für viele Anwendungsfälle als effizienter als apache2 erwiesen hat, sind bei Verwendung von PHP 8.5 folgende PHP-Pakete erforderlich:

php8.5-fpm
php8.5-mysql
php8.5-xml
php8.5-gd
php8.5-mbstrin
php8.5-zip
php8.5-intl
php8.5-imap
php8.5-apcu
php8.5-curl

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

Categories

...