Ошибка "PDOException: SQLSTATE[HY000] [2002] Connection refused in lock_may_be_available()" при запуске приложения
Primary tabs
При запуске приложения после настройки файла settings.php может возникнуть такая ошибка: "PDOException: SQLSTATE[HY000] [2002] Connection refused in lock_may_be_available() (line 167 of /var/www/project/includes/lock.inc)."
Все контейнеры при этом запущены.
Настройки соединения с базой данных взяты из файла docker-compose.yml и прописаны в файл /sites/default/settings.php:
'database' => 'ktu_old_mysql_db', 'username' => 'ktu_old_user', 'password' => 'ktu_old_password', 'host' => 'localhost', 'port' => '19622', 'driver' => 'mysql', 'prefix' => '',
Ошибка возникает из-за того, что если в настройках БД прописано 'host' => 'localhost', то это будет значить, что БД будет искаться в том же контейнере, что и само приложение. А она запущена в другом контейнере. Если несколько контейнеров определены в одном docker-compose.yml, то для доступа из одного контейнера в другой можно использовать имя сервиса.
Правильные настройки файла settings.php:
$databases = array ( 'default' => array ( 'default' => array ( 'database' => 'ktu_old_mysql_db', 'username' => 'ktu_old_user', 'password' => 'ktu_old_password', 'host' => 'mysql', 'port' => '3306', 'driver' => 'mysql', 'prefix' => '', ), ), );
- Log in to post comments
- 313 reads