У меня есть проект на php 5.6 с YII V.1. Я использую MySQL 8.3, потому что это единственный вариант, разрешенный для моей архитектуры Mac.
Я настроил проект в Docker, и все выглядит нормально, пока приложение не запросит у меня учетные данные
чтобы войти. Как только я нажимаю «Отправить», я получаю эту ошибку:
Код: Выделить всё
/var/www/html/fw/1.1.16/framework/db/CDbConnection.php(399)
387 throw new CDbException('CDbConnection.connectionString cannot be empty.');
388 try
389 {
390 Yii::trace('Opening DB connection','system.db.CDbConnection');
391 $this-\>\_pdo=$this-\>createPdoInstance();
392 $this-\>initConnection($this-\>\_pdo);
393 $this-\>\_active=true;
394 }
395 catch(PDOException $e)
396 {
397 if(YII_DEBUG)
398 {
399 throw new CDbException('CDbConnection failed to open the DB connection: '.
400 $e-\>getMessage(),(int)$e-\>getCode(),$e-\>errorInfo);
401 }
402 else
403 {
404 Yii::log($e-\>getMessage(),CLogger::LEVEL_ERROR,'exception.CDbException');
405 throw new CDbException('CDbConnection failed to open the DB connection.',(int)$e-\>getCode(),$e-\>errorInfo);
406 }
407 }
408 }
409 }
410 /\*\*\
ИНФОРМАЦИЯ О СОКЕТАХ:
yktoo-db | 2024-05-14T16:23:01.937766Z 0 [Система] [MY-011323] [Сервер] X Плагин готов к подключению. Адрес привязки: '::' порт: 33060, сокет: /var/run/mysqld/mysqlx.sock
yktoo-db | 2024-05-14T16:23:01.937783Z 0 [Система] [MY-010931] [Сервер] /usr/sbin/mysqld: готов к подключениям. Версия: '8.3.0' сокет: '/var/run/mysqld/mysqld.sock' порт: 3306 MySQL Commu
.YML-файл:
Код: Выделить всё
services:
app:
build:
context: .
dockerfile: ./Dockerfile-app
container_name: yktoo-app
ports:
- "80:80"
volumes:
- /Users/xxx/Desktop/sar/var/www/html:/var/www/html
db:
build:
context: .
dockerfile: ./Dockerfile-db
container_name: yktoo-db
environment:
MYSQL_ROOT_PASSWORD: "xxxx"
Код: Выделить всё
'db'=>array(
'connectionString' => 'mysql:host=yktoodb;port=3306;dbname=phpmyadmin;
unix_socket=/var/run/mysqld/mysqld.sock', 'emulatePrepare' => true,
'username' => 'xxx',
'password' => 'xxx',
'charset' => 'utf8',`
Я пытался изменить yktoo-db на IP, но это не сработало.
Я пытался использовать yktoo-db:3306, но это не сработало. п>
Подробнее здесь: https://stackoverflow.com/questions/784 ... -no-such-f