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?
Эти функции доступны только в 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.
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?
Supported authentication methods are listed in the "Loaded plugins" row of the "mysqlnd" section in phpinfo(). Look for plugins that start with "auth_plugin_…".