Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Отлично! Спасибо! Констатация факта очень помогла.
Конфиг так понимаю загружается один раз перед стартом, неужели такая стандартная задача не учтена при создании фреймворка? Нет возможности создать конфигурацию заранее для изменяющихся данных... Повторная инициализация это уже какой-то костыль получается.
Приветствую! Имеется изменяемая на стороне информация с подключениями (разные сервера, пароли и прочее), пытаюсь изменить подключение в config
'connections' => [
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => false,
'engine' => null,
]
]
Меняю конфиг
public function config($dbname, $dbpass, $dbhost, $username){
$config = Config::get('database.connections.mysql');
$config['database'] = $dbname;
$config['password'] = $dbpass;
$config['host'] = $dbhost;
$config['username'] = $username;
Config::set('database.connections.mysql', $config);
}
Но запрос к DB::select("запрос"); после переподключения все равно обращается к старым параметрам, а нужно к новым.При этом возврат Config::get('database.connections.mysql') после переподключения дает нужные значения.
Страницы 1