Переход на php 7 - ошибка PDO

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Евгений Емельянов
Сообщения: 167
Зарегистрирован: 2015.06.10, 10:43

Переход на php 7 - ошибка PDO

Сообщение Евгений Емельянов »

День добрый!
Yii2.0.10 (advanced) на хостинге перевел на php 7. Не хочет соединяться с базой. Такие исключения:
SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client
in /home/virtwww/w_dev-inknsk0_6a660212/http/vendor/yiisoft/yii2/db/Connection.php at line 602
PDO::__construct(): The server requested authentication method unknown to the client [mysql_old_password]
in /home/virtwww/w_dev-inknsk0_6a660212/http/vendor/yiisoft/yii2/db/Connection.php at line 602
Думал на старые хэши паролей, пароли в базе обновил (логин не обновлял) - ситуация не изменилась. Хостер ретировался...

Может, здесь кто сталкивался с подобным и подскажет как решить?
Аватара пользователя
webplus
Сообщения: 336
Зарегистрирован: 2012.02.24, 22:05

Re: Переход на php 7 - ошибка PDO

Сообщение webplus »

Евгений Емельянов писал(а):День добрый!
Yii2.0.10 (advanced) на хостинге перевел на php 7. Не хочет соединяться с базой. Такие исключения:
SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client
in /home/virtwww/w_dev-inknsk0_6a660212/http/vendor/yiisoft/yii2/db/Connection.php at line 602
PDO::__construct(): The server requested authentication method unknown to the client [mysql_old_password]
in /home/virtwww/w_dev-inknsk0_6a660212/http/vendor/yiisoft/yii2/db/Connection.php at line 602
Как решил проблему напиши?
Сайт по работе в Украине: https://jobis.com.ua/. Сайт по поиску строителей: https://stroyzakaz.com.ua/
Создание сайтов в Киеве: https://webplus.com.ua/ по доступной цене.
Евгений Емельянов
Сообщения: 167
Зарегистрирован: 2015.06.10, 10:43

Re: Переход на php 7 - ошибка PDO

Сообщение Евгений Емельянов »

Пришлось создать на хостинге новую базу с опцией "мои скрипты не поддерживают old_passwords" и развернуть в ней дамп старой базы.
База была с 16-ти битным хэшированием паролей, а php 7.0.11 (на который перевел сайт) уже не поддерживает этот алгоритм и пароли хоть заменяйся (для обновления хэша) - они все-равно давали 16-битные хэши.

С новой базой (mySQL 5.7.*) php подружился...
Евгений Емельянов
Сообщения: 167
Зарегистрирован: 2015.06.10, 10:43

Re: Переход на php 7 - ошибка PDO

Сообщение Евгений Емельянов »

webplus писал(а):Как решил проблему напиши?
А что, тебе тоже советы зеленина не помогают? :)
Можно было бы на этом форуме вообще сделать фичу: нажимешь на "Создать новую тему", и переадресовываешься сразу на гугл. Очень удобно!
Особенно для нас, недоразвитых, которые про гугл не знают...
nepob
Сообщения: 18
Зарегистрирован: 2016.02.23, 09:25

Re: Переход на php 7 - ошибка PDO

Сообщение nepob »

Извините за оффтоп. Кто-нибудь знает зачем php хранит хэши паролей от mysql?
Onotole
Сообщения: 1808
Зарегистрирован: 2012.12.24, 12:49

Re: Переход на php 7 - ошибка PDO

Сообщение Onotole »

nepob писал(а):Извините за оффтоп. Кто-нибудь знает зачем php хранит хэши паролей от mysql?
Где хранит?
nepob
Сообщения: 18
Зарегистрирован: 2016.02.23, 09:25

Re: Переход на php 7 - ошибка PDO

Сообщение nepob »

Onotole писал(а):
nepob писал(а):Извините за оффтоп. Кто-нибудь знает зачем php хранит хэши паролей от mysql?
Где хранит?
Ок. Я слишком быстрый вывод сделал)
Зачем php хэширует пароли от mysql?
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Переход на php 7 - ошибка PDO

Сообщение zelenin »

nepob писал(а):
Onotole писал(а):
nepob писал(а):Извините за оффтоп. Кто-нибудь знает зачем php хранит хэши паролей от mysql?
Где хранит?
Ок. Я слишком быстрый вывод сделал)
Зачем php хэширует пароли от mysql?
чтобы не гонять голые пароли между клиентом и сервером?
nepob
Сообщения: 18
Зарегистрирован: 2016.02.23, 09:25

Re: Переход на php 7 - ошибка PDO

Сообщение nepob »

zelenin писал(а):
nepob писал(а):
Onotole писал(а): Где хранит?
Ок. Я слишком быстрый вывод сделал)
Зачем php хэширует пароли от mysql?
чтобы не гонять голые пароли между клиентом и сервером?
Ну да, логично. Спасибо)
Евгений Емельянов
Сообщения: 167
Зарегистрирован: 2015.06.10, 10:43

Re: Переход на php 7 - ошибка PDO

Сообщение Евгений Емельянов »

nepob писал(а):Извините за оффтоп. Кто-нибудь знает зачем php хранит хэши паролей от mysql?
не сам php, конечно, а один из его модулей - mysqlnd, кажется
Аватара пользователя
porcelanosa
Сообщения: 570
Зарегистрирован: 2010.03.16, 04:31
Откуда: Москва

Re: Переход на php 7 - ошибка PDO

Сообщение porcelanosa »

Так решилась проблема у кого-нибудь?
Тоже на одном из виртуальных хостингов столкнулась с такой проблемой

Код: Выделить всё

[notice] [client 178.140.175.251] An Error occurred while handling another error:\nPDOException: PDO::__construct(): The server requested authentication method unknown to the client [mysql_old_password]
Хостер говорит что надо использовать mysqli , а не mysql :-)
и задать параметр

Код: Выделить всё

SET GLOBAL old_passwords = 1;
на вирт. хостинге нельзя
mcintosh-club.ru - первый мой сайт с использование Yii //
Акустика Sonus Faber Hi-End класса//
Необрезная доска и другие пиломатериалы
Ответить