最近农成也是切入了yiiframework 2.0,就是安装yii2.0就花费了不少的时间,为此做了很多的弯路,特此写一篇博文来给后面学习的同学少走一点的弯路。写的不好的地方欢迎各位学习的同学们能够指点出来。
yii2.0的安装,官方提供了两种的安装办法,一种是通过composer来安装,另外一种是通过跟yii1.0的办法直接下载安装包来安装。至于对于第一种composer的安装,农成就不做多余的说明了,这里有很好的安装教程。点击进去就可以看到了,为此农成就不在说了,下面就给大家详细讲讲第二种通过官方的安装包来安装yii2.0.
yii2.0基础版安装
先说下农成的PHP环境吧!我公司的环境是用的wamp集成环境,家里的自己配置的nginx+PHP+mysql环境。不过yii2.0对于PHP的版本还是有个强制要求的,必须是
Yii 2.0 需要 PHP 5.4 或更高版本,该版本相对于 Yii 1.1 所需求的 PHP 5.2 而言有巨大的改进。因此在语言层面上有很多的值得注意的不同之处。下面是 PHP 层的主要变化汇总:
- 命名空间
- 匿名函数
- 数组短语法
[...元素...]
用于取代array(...元素...)
- 视图文件中的短格式 echo 标签
<?=
,自 PHP 5.4 起总会被识别并且合法,无论 short_open_tag 的设置是什么,可以安全使用。 - SPL 类和接口
- 延迟静态绑定
- 日期和时间
- Traits
-
intl Yii 2.0 使用 PHP 扩展
intl
来支持国际化的相关功能。
如果同学你的PHP版本不对的话,那么对不起你yii2.0肯定是安装不成功的,这就叫做硬件不成,软件肯定也是支持不了的。如果不满足安装的条件的话,农成还是建议你去升级一下PHP的版本,让其支持yii2.0的要求。
- 第一步从官网上下载好yii2.0的基础版本
- 第二步就把下载好的yii2.0基础版解压到你服务器下的www文件夹下面
-
修改
config/web.php
文件,给cookieValidationKey
配置项添加一个密钥(若你通过 Composer 安装,则此步骤会自动完成):
// !!! 在下面插入一段密钥(若为空) - 以供 cookie validation 的需要
'cookieValidationKey' => '在此处输入你的密钥',
4.访问下面的链接就应该成功了:
http://localhost/web/index.php
yii2.0高级版安装
yii2.0高级版的安装农成当初就走了很多的弯路,特此给大家提供一点详细的信息,希望能够给学习的同学们带来一点帮助。
农成在这里先说明一下,yii2.0基础版和高级版的区别:
其实没太大区别。yii2-app-basic只有一个web应用,而yii2-app-advanced是默认带了前台和后台两个web应用,将两个应用整合在一个project里面,然后用common应用存放一些两个应用公共的一些东西。官网的文档上说明了一些区别:
下面就给大家讲一下高级版的安装:
- 第一步从官网上下载好yii2.0的基础版本
- 第二步就把下载好的yii2.0基础版解压到你服务器下的www文件夹下面
- 第三步的操作就显得格外的重要了,解压出来就是下面这些的东西,记住在浏览器访问yii应用之前一定要先执行init这个东西,不然是找不到yii高级版的入口文件的。
4.初始化之后,配置数据库信息。打开模板文件找到common\config里面有main-local.php,输入用户名,密码,数据库名(已存在,不存在要自己创建)。这里也要注意一个地方这里数据库中必须要有user表格不然也会出现错误的哦。
<?php
return [
'components' => [
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=lnctime',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
],
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
'viewPath' => '@common/mail',
'useFileTransport' => true,
],
],
];
高级版的user表结构:
-- ----------------------------
-- Table structure for `user`
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) NOT NULL,
`auth_key` varchar(32) NOT NULL,
`password_hash` varchar(255) NOT NULL,
`password_reset_token` varchar(255) DEFAULT NULL,
`email` varchar(255) NOT NULL,
`role` smallint(6) NOT NULL DEFAULT '10',
`status` smallint(6) NOT NULL DEFAULT '10',
`created_at` int(11) NOT NULL,
`updated_at` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
5.访问http://localhost/yii2/backend/web/index.php就可以访问后台,http://localhost/yii2/frontend/web/index.php就可以访问前台了。
转自:http://www.lnctime.com/803.html