@author 周煦辰 2016-03-21

这段时间新上了一个项目,使用的是Yii2框架。这里记录一下Yii2框架、Yii2-Mongo拓展、Yii2-Redis拓展等的安装流程。因为使用的系统是Windows,这里只说Windows下的安装方法,不过Linux下大同小异,甚至可以说比Windows更加简单。

安装Composer

Composer是一个用于PHP包管理的工具。有了Composer,PHP开发的包管理就变得异常简单。对于PHP“悠久”的历史来说,包管理工具显得姗姗来迟。12年3月推出alpha版本,直到今年(2016年)3月才推出第一个beta版本,不过不管怎么说,PHP终于还是有包管理了,这是好事。但是可能因为某些原因,Composer在国内的使用并不是非常方便。这里说一下Composer在Windows的安装方式,以及所需要的配置。

准备工作

  1. 你要保证你的系统已经安装了PHP,且cmd中已经有了php命令。具体的配置方式可以看我之前的博文《个人PHP开发环境的选择与搭建》

  2. 你可能需要安装git以及配置,安装包的时候部分代码可能需要从git仓库中拉取。具体看这篇(百度经验)[http://jingyan.baidu.com/article/9f7e7ec0b17cac6f2815548d.html]吧,其实过程和PHP的环境配置一毛一样。

下载及安装

官方有一个用命令安装Composer的方式,具体文档在这里:Composer-Download。但是我一直卡在签名验证这一步,一怒之下使用“傻瓜安装”,即直接下载Composer-Setup.exe,安装完事。打开cmd,输入composer,如果出现Composer的帮助页面,即表示Composer安装成功。

必要的配置

为了规避上述的“某些原因”,我们需要对Composer做一些配置,以达到在国内流畅使用Composer的目的。Composer的境外镜像在https://packagist.org/,但是常常访问不了,为了解决这个问题,可以访问国内的全量镜像
具体的配置方法其实网站上也有,其实很简单,直接打开cmd,输入以下命令即可。

composer config -g repo.packagist composer https://packagist.phpcomposer.com

需要注意的是,这种配置方式是全局式的,一劳永逸。如果需要具体的项目配置不同的镜像,可以到项目根目录(就是有composer.json文件的那个文件夹),右键->use composer here,然后输入以下命令即可。当然了现在你还没有使用Composer下载任何项目到你的电脑,这种方法暂时可以忽略。

composer config repo.packagist composer https://packagist.phpcomposer.com

安装Yii2框架

安装Yii2框架的方法在Yii官网Yii中文网上都有说明,因为有了Composer,也就是一行命令的事。这里推荐看官方的英文文档,因为英文的文档一直有在更新,中文文档不仅翻译进度堪忧,而且相比于官方文档已经落后很多。

建议在安装Yii2之前先运行composer self-update命令,使Composer版本保持最新。之前安装Yii2的时候遇到过因为Composer版本过低而导致自动载入函数出现错误的问题,现在大概已经解决了。

然后运行如下两个命令

composer global require "fxp/composer-asset-plugin:~1.1.1"
composer create-project --prefer-dist yiisoft/yii2-app-basic basic

说明一下,第一个命令是安装Composer asset plugin,用于管理bower和npm包,反正你迟早要用的,全局安装就是。

第二个命令是在当前目录安装Yii2框架basic版本,相应的Yii2框架也存在Advanced版本,你可以根据你项目的大小选择框架的版本,不过对于初学Yii框架的人来说Basic版本足矣。命令最后一个参数basic只是表示放置框架文件的文件夹名称,你可以随便设置。

安装Yii2的过程中,可能会向你索取一个github的Personal access tokens,到你的github主页(什么你没有github账号? 怎么可以没有,赶紧注册一个)Personal settings里设置一个就是了,记得保存,一旦你把页面关闭,你就再也看不到它了。

安装结束之后你需要在/basic/config/web.phpcookieValidationKey配置项下填入一个key,否则运行框架会报错。

使用浏览器(我已经默认你已安装了服务器软件(例如apache)以及php,且已经开启)访问到localhost/basic/web(默认你将框架文件放在服务器根目录)即可看到框架的Demo页面。


至此Yii2框架已经安装完毕,如果你的项目数据库采用的是MySQL,那么恭喜你,Yii2对于MySQL的支持非常完善,尤其是ActiveRecord的使用更是方便了开发人员进行数据库操作。但是如果你想要使用NoSQL类型的数据库(例如MongoDB)且也想使用Yii2的ActiveRecord怎么办?Yii官方提供了MongoDB拓展,安装即可。

安装MongoDB拓展

Yii2是天然支持MySQL以及一些主流的数据库的,具体的支持列表可以看一下官方文档。可以注意到官方提供的驱动里并没有MongoDB,那么如果想要使用诸如MongoDB这样的非关系型数据库怎么办?可喜的是,官方其实是提供了MongoDB的拓展的,但是需要自行下载安装。具体的文档在Yii2的官方网站上有提供,可以点击查看

安装composer的拓展有两种方法,一种是在命令行下使用命令直接安装,一种是通过修改项目下的composer配置文件,然后通过composer update进行安装。

第一种方法:

在项目的目录下(即有一个composer.json文件的目录)打开命令行,输入如下命令

composer require --prefer-dist yiisoft/yii2-mongodb

第二种方法:

在composer.json的require字段下加入如下配置,注意写入配置的时候要严格按照JSON格式书写,否则会导致composer错误。

"yiisoft/yii2-mongodb": "~2.0.0"

然后在当前目录下打开命令行,运行如下命令

composer update

composer的安装进度完成后,需要在Yii2框架的config.php文件中进行如下的修改,即将拓展的入口类及数据库连接方式写入配置中。

return [
//....
'components' => [
'mongodb' => [
'class' => '\yii\mongodb\Connection',
'dsn' => 'mongodb://developer:password@localhost:27017/mydatabase',
],
],
];

具体的使用指导可以查看官方的文档。推荐使用ActiveRecord的方式使用拓展。

安装Redis拓展

其实安装MongoDB拓展成功后,Redis拓展的安装就轻车熟路了,无非也就是上述两种方式:直接输入命令安装或者修改配置文件后update。官方文档在这里,具体的安装方法就不多赘述了。

Yii2框架与MongoDB拓展、Redis拓展的安装流程的更多相关文章

  1. 搭建LNAMP环境(五)- PHP7源码安装Redis和Redis拓展

    上一篇:搭建LNAMP环境(四)- 源码安装PHP7 一.安装Redis 1.创建redis用户组和用户 groupadd redis useradd -r -g redis -s /sbin/nol ...

  2. phpstudy 2016 切换Nginx+php7.0版本所需运行库 vc14 + 安装redis拓展

    去微软官方下载vc14的运行库 链接:https://www.microsoft.com/en-us/download/details.aspx?id=48145 32位运行库 安装成功 切换版本成功 ...

  3. windows环境下wamp安装redis拓展

    环境: wamp集成环境 安装分为两部 1.安装redis客户端   https://github.com/ServiceStack/redis-windows/raw/master/download ...

  4. Windows下安装Redis及php的redis拓展教程

    一.安装前必读 Windows 64位操作系统 Redis 安装包(版本3.0.5,截止2017-05-29最新redis版本为3.2.9) 注意事项: 1.在window下如果你还需安装php的re ...

  5. mac安装redis拓展

    安装 下载源码 编译安装 添加拓展 添加权限重启 安装 在mac上安装了php7.1.7 php -m 查看安装的拓展,没有redis,以前可以brew install php71-redis简单命令 ...

  6. php7 安装redis拓展

    配置之前应该是环境已经搭好了,phpinfo的页面可以加载出来.   使用git clone下载git上的phpredis扩展包 git clone  https://github.com/phpre ...

  7. MySQL、MongoDB、Redis 数据库之间的区别

    NoSQL 的全称是 Not Only SQL,也可以理解非关系型的数据库,是一种新型的革命式的数据库设计方式,不过它不是为了取代传统的关系型数据库而被设计的,它们分别代表了不同的数据库设计思路. M ...

  8. mongodb,redis,memcached,mysql对比

    1.性能都比较高,性能对我们来说应该都不是瓶颈总体来讲,TPS方面redis和memcache差不多,要大于mongodb 2.操作的便利性memcache数据结构单一redis丰富一些,数据操作方面 ...

  9. Docker运行MongoDB及Redis及ssh端口映射远程连接

    Docker运行MongoDB及Redis及ssh端口映射远程连接 本节内容简介 在本实验里我们将通过完成 MongoDB 和 Redis 两个容器来学习Dockerfile及Docker的运行机制. ...

随机推荐

  1. 「个人vim插件+配置」

    2016.10.4 filetype indent on syntax on set nu ai ci si set sw= ts= set autochdir set backspace= colo ...

  2. ThinkPHP的RBAC

    基于角色的访问控制(Role-Based Access Control) 在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限. ThinkPHP通过5张表实现权限控制 th ...

  3. pch文件的使用

    pch文件的应用场景:1.用来定义一些全局的宏2.用来导入一些全局都能访问的头文件(如果只需要让.m或者.mm文件访问到,不需要让.c文件访问到,那么需要把头文件写到#ifdef _OBJC_ #en ...

  4. perl 变量 $/ 的用法解析

    默认状态下,很显然都是用\n来区分行,\n也被我们称作为换行符.当读取序列时,按行来读取时,就是以换行符为标准. perl中"行"的概念就由$/决定. { $data = &quo ...

  5. BZOJ3295 [Cqoi2011]动态逆序对

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...

  6. C# winform窗体设计-查询单个值

    查询单个值主要用于对成绩最低分,最高分,学生总数,学生性别等信息的统计 在查询单个值的时候用到了ExecuteScalar方法,连接以及语句方面,以及思路和对数据的增删改差不多 下面请看一段代码: s ...

  7. Getshell Via phpmyadmin SQL Execution In /import.php To Write Evil Webshell File Into Disk

    目录 . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上 ...

  8. MFC 文件对话框

    文件对话框的分类 文件对话框分为打开文件对话框和保存文件对话框,相信大家在Windows系统中经常见到这两种文件对话框.例如,很多编辑软件像记事本等都有"打开"选项,选择" ...

  9. VS 错误解决(项目-属性-启用调试器)

    我是先安装了VS2012, 之后由于需要安装了VS2008, 但在VS2012中可以运行程序但是不能调试, 即按Ctrl+F5可以运行, 但是按F5会提示错误. "尝试运行项目时出错:Unc ...

  10. BZOJ2186: [Sdoi2008]沙拉公主的困惑

    传送门 常规数论题,利用欧拉函数的相关性质. 题求$[1,N!]$中与$M!$互质的数的个数,且$M \leq N$.然后根据欧拉函数的相关性质很容易得出这道题的答案为$\frac{\phi (M!) ...