Required php extension not found sodium

  • #1

Your OS version Ubuntu 18.04.6 LTS Plesk version Plesk Obsidian Version 18.0.44 Update #2

I'm running Plesk Obsidian Version 18.0.44 Update #2 on Ubuntu 18.04.6 LTS

In /admin/php-handler/modules/id/plesk-php74-fpm I can't see sodium checkbox.

I see that plesk-php74 replaces plesk-php74-sodium (<< 7.4.30) but even a reinstall of plesk-php74 won't show the wanted extension in the above list.

Can anyone help?

Required php extension not found sodium

  • #2

Sodium is now compiled in PHP statically, not as a module. You can check this with the command:

# php -m

or with phpinfo()

  • #3

I also have this error. I reported the problem to support plesk

mow

Silver Pleskian

  • #4

I also have this error. I reported the problem to support plesk

What error?

Code:

# /opt/plesk/php/7.4/bin/php -m |grep -2 sodium
soap
sockets
sodium
SPL
sqlite3

  • #5

That may be so, but some webapps seem to rely on the dynamic lib. Since last night my nextcloud installation started throwing this error:
"/nextcloud/index.php/login","message":"PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /opt/plesk/php/7.4/lib/php/modules/sodium.so (/opt/plesk/php/7.4/lib/php/modules/sodium.so: cannot open shared object file: No such file or directory), /opt/plesk/php/7.4/lib/php/modules/sodium.so.so"

Downgrading to the outdated 7.3 PHP version provided a temporary fix

Required php extension not found sodium

  • #6

That may be so, but some webapps seem to rely on the dynamic lib. Since last night my nextcloud installation started throwing this error:
"/nextcloud/index.php/login","message":"PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /opt/plesk/php/7.4/lib/php/modules/sodium.so (/opt/plesk/php/7.4/lib/php/modules/sodium.so: cannot open shared object file: No such file or directory), /opt/plesk/php/7.4/lib/php/modules/sodium.so.so"

Downgrading to the outdated 7.3 PHP version provided a temporary fix

I think you have to check that file /opt/plesk/php/7.4/etc/php.d/sodium.ini still exists or record extension=sodium.so somewhere in PHP settings.

  • #7

Same problem on our Plesk, error appears to be random

  • #8

Same issue here. Ever since this morning I'm getting that error reported - but when I open the page myself everything seems fine.

Required php extension not found sodium

  • #9

This issue was submitted to developers as PPS-13031
Thanks.

  • #10

Hi @IgorG
I have the same issue with PHP 7.4, PHP 8.0 and PHP 8.1 (I know that php is now compiled with the --with-sodium flag).
De-commenting the ;extension=sodium => extension=sodium raises an error in PHP saying that it can't find the extension). The sodium.ini has been delete from php module (for version 7.4 to 8.1) and all it (sodium.ini) does is adding extension=sodium.so (which does not exists anymore) anyway.
Where can I follow the bug report PPS-13031.
Thanks in advance and have a good day.

  • #11

Is this issue related to the missing Argon2i and Argon2id password hashing since PHP 7.4.30 or latest PHP 8.1 shipped with Plesk?
We have warnings like

Code:

TYPO3\\CMS\\Core\\Crypto\\PasswordHashing\\Argon2iPasswordHash is not available

in our TYPO3 10.4 and 11.5 instances.
Thanks

  • #12

on phpinfo provided by plesk php verion 7.4.30 (sodium function Not working)
i have module sodium version 1.0.11
on another plesk with the old php package version 7.4.28 (sodium function working)
i have module sodium version 1.0.16 (more recent on this previous version )

all modern symfony (and laravel i think) hash validation for authentification aren’t working

  • #13

Same here. Where can I find that report?

Required php extension not found sodium

  • #15

On my server (Ubuntu 22.04 LTS and Plesk Obsidian Version 18.0.44 Update 2) there are none of the mentioned sodium.ini files and I get the error that other people are talking about.

  • #16

Is this issue related to the missing Argon2i and Argon2id password hashing since PHP 7.4.30 or latest PHP 8.1 shipped with Plesk?
We have warnings like

Code:

TYPO3\\CMS\\Core\\Crypto\\PasswordHashing\\Argon2iPasswordHash is not available

in our TYPO3 10.4 and 11.5 instances.
Thanks

We experienced the same issue. We had to upgrade our Plesk instance from Debian 9 to 10 in order to use Argon2i again.

  • #17

7.4.30 FPM on Plesk Obsidian v18.0.44_build1800220608.16 os_Ubuntu 20.04 is still throwing

yii\base\ErrorException: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /opt/plesk/php/7.4/lib/php/modules/sodium.so (/opt/plesk/php/7.4/lib/php/modules/sodium.so: cannot open shared object file: No such file or directory), /opt/plesk/php/7.4/lib/php/modules/sodium.so.so (/opt/plesk/php/7.4/lib/php/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown:0

  • #18

We experienced the same issue. We had to upgrade our Plesk instance from Debian 9 to 10 in order to use Argon2i again.

Same problem here. But on a server that is still using v18.0.43 Update #1 (but on Debian 11.3) it works although the site also uses PHP 7.4.30... The libsodium version there is 1.0.18, while on the one with v18.0.44 (Debian 9.13) it shows 1.0.11.

  • #19

This issue was submitted to developers as PPS-13031
Thanks.

The KB article doesn't work for me

  • #20

This error creates log in issues with Magento 2. Cant log in, can't change passwords or create new admin users.
Your fix at https://support.plesk.com/hc/en-us/articles/6077118452370 does not work as there is no sodium.ini file in /opt/plesk/php/7.4/etc/php.d/
Can you please update the KB article

How do I enable sodium php extension?

For older PHP versions this extension is available via PECL ..
Linux Systems ¶ In order to use this extension you must compile PHP with sodium support by using the --with-sodium[=DIR] configure option..
Windows ¶ In order to use this extension you have to add extension=php_sodium. ... .
Installation via PECL ¶.

How do you install sodium extension?

Step 1 - Installing The Base Sodium Library (libsodium).
Login to the server via SSH or Terminal as the root user..
Install the EPEL repository with the following command: yum install epel-release..
Install the Sodium library and companion development package with the following command: yum install libsodium libsodium-devel..

What is php extension sodium?

The php-sodium extension provides strong encryption capabilities in an easy and consistent way. Note that, for sites not having the extension installed, a php-openssl based solution, considered suboptimal, is used, and this fallback will stop working in a few versions (Moodle 4.2).

What is sodium extension?

sodium are cryptographic libraries in PHP 7.2 onward, for 7.1 and 7.0 one have to install extension. they are used for encryption authentication, storing passwords safely, sharing secret messages, digital signatures.