新安装的框架
错误
yii\web\Request::cookieValidationKey must be configured with a secret key.
解决:
/frontend/config/main.php
连接数据库配置
在common/config/main.php中
<?php
return [
'vendorPath' => dirname(dirname(__DIR__)) . '/vendor',
'language' => 'zh-CN',
'charset' => 'utf-8',
'components' => [
'cache' => [
'class' => 'yii\caching\FileCache',
],
'db' => [//下文的db
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=ip;dbname=数据库名',
'username' => '用户名',
'password' => '密码',
],
],
];
HOST XX.XX.X.X[ ip ]is not allowed to connect to this MySQL server
解决办法:
远程登录mysql(linux)
mysql -u root -p
mysql>use mysql;
mysql>update user set host =’%'where user =’root’;
mysql>flush privileges;
1、在本机登入mysql后,更改“mysql”数据库里的“user”表里的“host”项,从”localhost”改为'%'。
mysql>
mysql>use mysql;
mysql>select 'host' from user where user='root';
查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
mysql>update user set host = '%' where user ='root';
修改host值(以通配符%的内容增加主机/IP地址,当然也可以直接增加某个特定IP地址,如果执行update语句时出现ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY' 错误,需要select host from user where user = 'root';
查看一下host是否已经有了%这个值,如果有了直接执行下面的flush privileges;即可)
mysql>flush privileges;
mysql>select host,user from user where user='root';
mysql>quit
另一种方法:如果你使用的是phpmyadmin我们可以登录phpmyadmin然后在权限管理中进入,这里会看到所有的用户了,你找到root用户点击修改,然后把域修改成%号即可了(注意,你必须是root权限用户登录哦,否则是不可以修改的)
model连接数据库
//db不是数据库名,也不是固定写法,而是配置文件中的db自定义的,见上个问题的代码配置
public static function getDb() {
return Yii::$app->get('db');
}
配置gii
在frontend/web/index.php文件中
//应用可以包含下述代码只在开发环境中开启调试工具。
if (YII_ENV_DEV) {
// 根据 `dev` 环境进行的配置调整
$config['bootstrap'][] = 'debug';
$config['modules']['debug'] = 'yii\debug\Module';
$config['bootstrap'][] = 'gii';
$config['modules']['gii'] = [
'class' => 'yii\gii\Module',
'allowedIPs' => ['127.0.0.1', '::1', '192.168.1.*','192.168.1.87'] // 按需调整这里192.168.1.87是我本机的ip
];
}
linux下把gii生成的model和controller添加到服务器
cd /data/www/wwwroot/pms.xdf.com/frontend/controllers
svn add FieldController.php
svn commit -m "commit controller"//-m后边添加的是提交说明
插入数据库中的中文乱码
框架中设置utf8,连接数据库的db也要设置字符集
utf8.png
网友评论