我想以编程方式创建数据库连接,而不使用配置文件。我有一个表单,用户在其中输入数据库详细信息,例如hostname、username和。根据这些详细信息,建立新的测试连接,如果通过,则应生成必要的文件。这是我尝试过的:passworddatabase name
// Create Test DB Connection
Yii::$app->set('id', [
'class' => 'yii\db\Connection',
'dsn' => $dsn,
'username' => $form->username,
'password' => $form->password,
'charset' => 'utf8'
]);
try {
// Check DB Connection
if (Yii::$app->db->getIsActive()) {
// Write Config
$config['components']['db']['class'] = 'yii\db\Connection';
$config['components']['db']['dsn'] = $dsn;
$config['components']['db']['username'] = $username;
$config['components']['db']['password'] = $password;
$config['components']['db']['charset'] = 'utf8';
Configuration::setConfig($config);
$success = TRUE;
return $this->redirect(['init']);
}else{
$errorMsg = 'Incorrect Configurations';
}
} catch (Exception $e) {
$errorMsg = $e->getMessage();
}
Run Code Online (Sandbox Code Playgroud)
我已经一次又一次地对此进行了测试,即使配置正确,它也会出现错误。感谢所有的帮助。提前致谢!
我想使用migrate up/down数据库而code不是控制台窗口。我已经调查过framework. 我尝试过以下代码:
$runner = new yii\console\Application([
'id' => 'auto-migrate',
'basePath' => dirname(__DIR__)
]);
$runner->runAction('migrate');
ob_start();
return htmlentities(ob_get_clean(), null, Yii::$app->charset);
Run Code Online (Sandbox Code Playgroud)
它给出了Internal Server Error. 甚至不将文件迁移到数据库。但如果该目录不存在,则会创建该目录。它的行为方式应该是这样,但是如果迁移文件存在于它给出的同一目录中Internal Server Error。
当我尝试使用 .shell 通过 shell 运行我的程序时,出现以下错误erlang.mk:
=INFO REPORT==== 5-May-2016::05:47:57 ===
application: rad
exited: {bad_return,
{{rad_app,start,[normal,[]]},
{'EXIT',
{noproc,{gen_server,call,[rad_config,{lookup,port}]}}}}}
type: permanent
Eshell V6.4 (abort with ^G)
(rad@127.0.0.1)1> {"Kernel pid terminated",application_controller,"{application_start_failure,rad,{bad_return,{{rad_app,start,[normal,[]]},{'EXIT',{noproc,{gen_server,call,[rad_config,{lookup,port}]}}}}}}"}
Kernel pid terminated (application_controller) ({application_start_failure,rad,{bad_return,{{rad_app,start,[normal,[]]},{'EXIT',{noproc,{gen_server,call,[radheart: Thu May 5 05:47:58 2016: _coErlang is crashing .. (waiting for crash dump file)nf
ig,{lookup,porheart: Thu May 5 05:47:58 2016: tWould reboot. Terminating.}
]}}}}}})
make: *** [run] Error 1
Run Code Online (Sandbox Code Playgroud)
rad.app.src
{application, rad,
[
{description, "Awesome server written in Erlang"},
{vsn, "0.0.1"},
{registered, [rad_sup, rad_config]},
{modules, []}, …Run Code Online (Sandbox Code Playgroud) 我在Yii2项目中使用了以下库:单击此处
我已经设置并测试了它,效果很好.但现在我想让它变得动态,如果管理员点击切换开关,网站应该进入维护模式.要实现它,我需要做的是使启用变量为true,这在此库的Maintenance类中使用.
但我的问题是如何将我的切换开关链接到该变量.
提前致谢!