Tag: PHP modules

phpMyAdmin error “Error: Undefined constant “SODIUM_CRYPTO_SECRETBOX_KEYBYTES”” (SOLVED)

On Arch Linux, when trying to use the phpMyAdmin 5.3 pre-release, I encountered an error:

Error: Undefined constant "SODIUM_CRYPTO_SECRETBOX_KEYBYTES"

Checking in Debian showed that there is no such problem with phpMyAdmin 5.3.

The reason for the error is that sodium support is not enabled.

How to enable sodium on Arch Linux (Manjaro, BlackArch)

To enable sodium support in Arch Linux and derivative distributions (Manjaro, BlackArch) follow these steps.

Install the php-sodium package:

sudo pacman -S php-sodium

Open the /etc/php/php.ini file:

sudo gedit /etc/php/php.ini

Find the line in it

;extension=sodium

and uncomment it to get:

extension=sodium

Restart the web server for the changes to take effect:

sudo systemctl restart httpd.service

This will enable sodium support and the error in phpMyAdmin 5.3 will disappear.

Error “Composer detected issues in your platform: Your Composer dependencies require the following PHP extensions to be installed: mysqli, openssl” (SOLVED)

This post explains the causes of the error and how to fix it.

When self-installing the web server on Windows, for example, following the guide “How to install Apache web server with PHP, MySQL and phpMyAdmin on Windows”, when trying to open the phpMyAdmin address, an error may occur:

Composer detected issues in your platform: Your Composer dependencies require the following PHP extensions to be installed: mysqli, openssl

It occurs in the latest version of phpMyAdmin (for example, in 5.1.1) in the following cases:

1.

The following line is not added to the php.ini file:

extension_dir = "C:\Server\bin\PHP\ext\"

Open the php.ini file and double-check the value of the extension_dir directive. Depending on the folder where you are installing, you may have a different path instead of "C:\Server\bin\PHP\ext\". This value is correct if you install according to the instructions, the link to which is given above.

2.

The following line are commented in the php.ini file:

extension=mysqli
extension=openssl

Check your php.ini file to make sure these lines are uncommented.

3.

Your system for some reason does not use the settings from the php.ini file, for example, because the php.ini file is named incorrectly.

You can check this by running at the command line:

C:\Server\bin\PHP\php --ini

The output should include the path to the file C:\Server\bin\PHP\php.ini. If it is not, you may not have renamed the file to php.ini or named it php.ini.txt or something.

4.

All the settings in the php.ini file are correct, but the web server has not been restarted, which prevented the settings from being applied.

To restart the Apache web server, run the following command (you may have a different path to the executable file):

c:\Server\bin\Apache24\bin\httpd.exe -k restart

Alternatively, restart your computer.

Conclusion

You can think of more exotic reasons, for example, when copying the PHP executable files, the “ext” folder was not copied. But the essence is always the same: PHP is not configured to use the extensions mysqli, openssl – that is, exactly what the error says.

Error “Unable to load dynamic library ‘xmlrpc.so’” (SOLVED)

When running a web server or running PHP scripts on the command line, you may encounter an error:

PHP Warning: PHP Startup: Unable to load dynamic library 'xmlrpc.so' (tried: /usr/lib/php/modules/xmlrpc.so (/usr/lib/php/modules/xmlrpc.so: cannot open shared object file: No such file or directory), /usr/lib/php/modules/xmlrpc.so.so (/usr/lib/php/modules/xmlrpc.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0

In fact, this is not an error at all, but just a warning. That is, the server and PHP scripts should still work fine.

This warning says that when PHP starts up, the dynamic library 'xmlrpc.so' (PHP module) cannot be loaded. An attempt was made to download this file from all typical locations, but could not be found anywhere.

XMLRPC is an extension that was included in PHP that brought XML RPC server and client functions to PHP.

This extension was relatively unused and was labeled “experimental” all along. This extension relied on some libraries that had not been supported for several years.

The xmlrpc extension is no longer bundled with PHP since PHP 8.0. You can still install the extension from PECL if your code or any dependencies require it.

If you do not need this extension, then in the php.ini file find the line

extension=xmlrpc.so

and comment it out to get:

;extension=xmlrpc.so

If you really need this extension, then install it from PECL, or use one of the following alternatives:

Loading...
X