Требования

Эти функции доступны только в PHP, который собран с поддержкой модуля mysqli.

MySQL 8

При запуске PHP до версии 7.1.16, а также PHP с версии 7.2 до версии 7.2.4 в качестве плагина шифрования паролей по умолчанию для сервера MySQL 8 устанавливают mysql_native_password, иначе будет выдана ошибка наподобие The server requested authentication method unknown to the client [caching_sha2_password], даже когда плагин caching_sha2_password не задан.

Причина этого в том, что на сервере MySQL 8 в качестве плагина по умолчанию указан caching_sha2_password, который не распознаётся старыми версиями PHP (модулем mysqlnd). Вместо него в файле конфигурации сервера my.cnf указывают — default_authentication_plugin=mysql_native_password. Плагин caching_sha2_password получил полную поддержку начиная с PHP 7.4.4. В предыдущих версиях PHP его поддерживает модуль mysql_xdevapi.

add a note add a note

User Contributed Notes 2 notes

up
-22
james at jmwhite dot co dot uk
3 years ago
PHP 7.4 now supports MySQL with caching_sha2_password, although it is a bit unclear around older versions, there seems to be conflicting reports. What is the support of caching_sha2_password in PHP < 7.4?
up
-59
alvaro at demogracia dot com
6 years ago
Supported authentication methods are listed in the "Loaded plugins" row of the "mysqlnd" section in phpinfo(). Look for plugins that start with "auth_plugin_…".
To Top