使用しているMySQLアカウントには、おそらく古い16文字の長さのパスワード(ハッシュ)があります。
これは、MySQLクライアント(HeidiSQL、MySQLコンソールクライアント、その他のクライアントなど)とアクセス可能なアカウントでテストできます。 mysql
へ 。user
テーブル。 [パスワード]フィールドに16文字が含まれている場合、それは古いパスワードであり、 mysqlnd
MySQLサーバーへの接続には使用できません。
そのユーザーに新しいパスワードを設定できます
SET PASSWORD FOR 'username'@'hostmask' = PASSWORD('thepassword')
dev_mysql_set_password を参照してください
編集:
サーバーがデフォルトで古いパスワードを使用/作成
。
edit2:
クエリを実行してください
SELECT
Length(`Password`),
Substring(`Password`, 1, 1)
FROM
`mysql`.`user`
WHERE
`user`='username'
5.0.22サーバー(「失敗」しているサーバー)。 username
を置き換えます mysql_connect()で使用しているアカウントによって。
それは何を返しますか?