yii2.0安装

来源:互联网 发布:毯星被保安拖走 知乎 编辑:程序博客网 时间:2024/05/20 10:21

最近农成也是切入了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的要求。

  1. 第一步从官网上下载好yii2.0的基础版本
  2. 第二步就把下载好的yii2.0基础版解压到你服务器下的www文件夹下面
  3. 修改 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应用存放一些两个应用公共的一些东西。官网的文档上说明了一些区别:

 

下面就给大家讲一下高级版的安装:

  1. 第一步从官网上下载好yii2.0的基础版本
  2. 第二步就把下载好的yii2.0基础版解压到你服务器下的www文件夹下面
  3. 第三步的操作就显得格外的重要了,解压出来就是下面这些的东西,记住在浏览器访问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就可以访问前台了。