ホームページ  >  記事  >  バックエンド開発  >  PHP と mysql が mysql_connect() に接続できません [function.mysql-connect]: クライアントはソリューションをサポートしていません

PHP と mysql が mysql_connect() に接続できません [function.mysql-connect]: クライアントはソリューションをサポートしていません

WBOY
WBOYオリジナル
2016-06-13 11:57:121184ブラウズ

php と mysql が接続できません mysql_connect() [function.mysql-connect]: クライアントは
php と mysql を接続できません。エラー メッセージは次のとおりです:
警告: mysql_connect() [function.mysql-接続]: クライアントはサーバーによって要求された認証プロトコルをサポートしていません。MySQL クライアントのアップグレードを検討しています
D:XXXXXXXXapache-tomcat-8.0.5we bappsProjectopendb.php の 5 行目
接続できませんでした: クライアントは要求された認証プロトコルをサポートしていませんサーバーごと; MySQL クライアントのアップグレードを検討します


php のバージョンは php-4.4.9
myslq のバージョンは 5.6
tomcat のバージョンは 8.0.5

ビルドしたいローカルに 1 つの PHP 開発環境 (tomcat mysql php)。
現在
1. Tomcat と php が調整され、ページ上に phpinfo が表示されるようになりました。
2. Tomcat と mysql も接続されており、jsp ページを使用して mysql 内のテーブル情報をクエリできます。

注: オンラインで見つかった解決策はどれも機能しません。以下の方法を試してみましたが、やはり同じエラーメッセージが表示されました。
----------------------------------------------- --- --------------------------------------------------- --- ---
主な目的は、MySQL アカウントに接続するための暗号化方法を変更することです。MySQL 4.1/5.0 は PASSWORD によって暗号化されます。これは、次の 2 つの方法で解決できます。

1) MySQL->SET PASSWORD FOR 'some_user'@'some_host'=OLD_PASSWORD('new_password');

MySQL-> FLUSH PRIVILEGES;

2) MySQL->UPDATE MySQL.user SET Password=OLD_PASSWORD('new_password') WHERE Host='some_host' AND User='some_user';

MySQL-> ; フラッシュ権限;

-------------------------------------- -------------------------------------------------- - ----------
------解決策------------
背景
php 5.3 以降、PHP の mysql 操作は、組み込みの mysql クライアントのみを使用します
明らかに、このクライアントのバージョンは 5.6 より低いですが、使用には影響しません

理由
mysql をインストールすると、インストール プログラムは、mysql のインストール パスをオペレーティング システムの環境変数 PATH に追加します
これがアクセス不能の根本原因です

解決策
そのため、mysql のパスを PATH から削除する必要があります
ただし、この場合、jdbc は mysql に接続できない可能性があり、再構成が必要になる可能性があります

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。