問題タブ [php-7.4]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - mysqli は PHP 7.4 で caching_sha2_password をサポートしていますか?
PHP 7.3 から PHP 7.4 にアップグレードしようとすると、次のエラーが発生しました。
caching_sha2 auth 109 の実行中の予期しないサーバー応答
私が見たところ、これは PHP 7.4 MySQLi がcaching_sha2_password
プラグインを使用しようとしていることを示しています。この記事では、PHP MySQLi がこのプラグインをサポートしていないことを指摘しています (これは、将来のサポートも示唆しています)。また、エラー メッセージは、サポートされていない場合とは異なります (アクセスが拒否された場合と認証方法が不明な場合)。
そこで、MySQL 認証プラグインを次のように変更しましたcaching_sha2_password
(以前と同じパスワードを使用):
しかし、これにより別のエラーが発生しました:
ユーザー 'root'@'localhost' のアクセスが拒否されました (使用するパスワード: YES)。
PHP 7.3 に戻すと、mysql_native_password
再び動作します。
両方のプラグイン、同じ Web サイトに同じパスワードを使用し、同じ php.ini の変更を適用しました。ただし、構成は変更しませんでしたmysqli
。MySQL のログには何も表示されず、apache2 ログには「アクセスが拒否されました」というエラー メッセージのみが表示されます。
php7.4-mysqli は をサポートしていcaching_sha2_password
ますか? はい
パスワードが拒否されるのはなぜですか? どうすれば修正できますか? 私のフォローアップの質問を参照してください
また、MySQLi がまだプラグインをサポートしていない場合: どうすれば使用できmysql_native_password
ますか?