Cakephp mysql соединяет ошибки с удаленной базой данных - PullRequest
0 голосов
/ 26 сентября 2011

Только что испек приложение и получил это на домашней странице моего торта

Предупреждение (2): mysql_connect () [function.mysql-connect]: преждевременный конец данных (mysqlnd_wireprotocol.c: 554)[CORE \ cake \ libs \ model \ datasources \ dbo \ dbo_mysql.php, строка 561]

Предупреждение (2): mysql_connect () [function.mysql-connect]: ОК, пакет на 1 байт короче, чем ожидалось [CORE \ cake \ libs \ model \ datasources \ dbo \ dbo_mysql.php, строка 561]

Предупреждение (2): mysql_connect () [function.mysql-connect]: mysqlnd не может подключиться к MySQL 4.1+ с помощьюстарая небезопасная аутентификация.Пожалуйста, используйте инструмент администратора для сброса пароля с помощью команды SET PASSWORD = PASSWORD ('your_existing_password').Это сохранит новое и более безопасное хеш-значение в mysql.user.Если этот пользователь используется в других сценариях, выполняемых в PHP 5.2 или более ранней версии, вам может потребоваться удалить флаг old-passwords из файла my.cnf [CORE \ cake \ libs \ model \ datasources \ dbo \ dbo_mysql.php, строка 561]

Cake НЕ может подключиться к базе данных.

Эта проблема возникает только при подключении к удаленной базе данных, при подключении к базе данных localhost у меня нет проблем.

1 Ответ

0 голосов
/ 26 сентября 2011

http://dev.mysql.com/doc/refman/5.1/en/old-client.html

База данных использует хэш пароля старого стиля для пользователя, с которым mysql_connect пытается войти в систему. Драйвер mysql в php, который вы используете, несовместим с хэшем паролей старого стиля. Как он говорит, он хочет, чтобы вы сгенерировали пароль, используя новый стиль хэша.

Эта проблема на самом деле не связана с cakephp, а скорее с PDO и его драйвером mysql.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...