@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的安装方式,以及所需要的配置。
准备工作
你要保证你的系统已经安装了PHP,且cmd中已经有了php命令。具体的配置方式可以看我之前的博文《个人PHP开发环境的选择与搭建》。
你可能需要安装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.php
的cookieValidationKey
配置项下填入一个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拓展的安装流程的更多相关文章
-
搭建LNAMP环境(五)- PHP7源码安装Redis和Redis拓展
上一篇:搭建LNAMP环境(四)- 源码安装PHP7 一.安装Redis 1.创建redis用户组和用户 groupadd redis useradd -r -g redis -s /sbin/nol ...
-
phpstudy 2016 切换Nginx+php7.0版本所需运行库 vc14 + 安装redis拓展
去微软官方下载vc14的运行库 链接:https://www.microsoft.com/en-us/download/details.aspx?id=48145 32位运行库 安装成功 切换版本成功 ...
-
windows环境下wamp安装redis拓展
环境: wamp集成环境 安装分为两部 1.安装redis客户端 https://github.com/ServiceStack/redis-windows/raw/master/download ...
-
Windows下安装Redis及php的redis拓展教程
一.安装前必读 Windows 64位操作系统 Redis 安装包(版本3.0.5,截止2017-05-29最新redis版本为3.2.9) 注意事项: 1.在window下如果你还需安装php的re ...
-
mac安装redis拓展
安装 下载源码 编译安装 添加拓展 添加权限重启 安装 在mac上安装了php7.1.7 php -m 查看安装的拓展,没有redis,以前可以brew install php71-redis简单命令 ...
-
php7 安装redis拓展
配置之前应该是环境已经搭好了,phpinfo的页面可以加载出来. 使用git clone下载git上的phpredis扩展包 git clone https://github.com/phpre ...
-
MySQL、MongoDB、Redis 数据库之间的区别
NoSQL 的全称是 Not Only SQL,也可以理解非关系型的数据库,是一种新型的革命式的数据库设计方式,不过它不是为了取代传统的关系型数据库而被设计的,它们分别代表了不同的数据库设计思路. M ...
-
mongodb,redis,memcached,mysql对比
1.性能都比较高,性能对我们来说应该都不是瓶颈总体来讲,TPS方面redis和memcache差不多,要大于mongodb 2.操作的便利性memcache数据结构单一redis丰富一些,数据操作方面 ...
-
Docker运行MongoDB及Redis及ssh端口映射远程连接
Docker运行MongoDB及Redis及ssh端口映射远程连接 本节内容简介 在本实验里我们将通过完成 MongoDB 和 Redis 两个容器来学习Dockerfile及Docker的运行机制. ...
随机推荐
-
百度地图API显示多个标注点并添加百度样式检索窗口
原作者博客地址:http://blog.csdn.net/a497785609/article/details/24009031 在此基础上进行了修改: 1.添加闭包,将i传入内部 2.添加地图和卫星 ...
-
jQuery如何退出each循环的?
试问:jQuery是如何退出each循环的? 在回调函数里return false即可,大多数jQuery的方法都是如此的. 返回 'false' , 将停止循环 (就像在普通的循环中使用 'bre ...
-
centos 7.0 安装vim
用的最小化 安装 看看跟VI命令有何区别 后面会记录使用经验 [root@localhost conf]# yum -y install vim 已加载插件:fastestmirror base | ...
-
SQL2008性能计数器注册表配置单元一致性失败
按照这个操作 http://jingyan.baidu.com/article/7c6fb4287c923880652c9074.html如果在注册表中没有 HKEY_LOCAL_MACHINE\SO ...
-
001.linux下clock()检测程序运行时间
#include <stdio.h> #include <time.h> int main() { int i; int k; clock_t start,end; //clo ...
-
jquery发送ajax请求返回数据格式
jquery向服务器发送一个ajax请求后,可以返回多种类型的数据格式,包括:html,xml,json,text等. 1.html格式的数据 "<div class='comment ...
-
被淡忘的c#析构函数
析构函数在C#中已经很少使用了,以至于很多人已经把它淡忘了,虽然用处不大,研究一下也无防.(原文:http://bbs.csdn.net/topics/300178463)一. 析构函数的特征:析构函 ...
-
2px边框,4分之1内边框实现选中功能实现
有时候我们要实现如下选中效果: 我给出一种解决办法: 首先选中的时候,加一个class(active),未选中的全部加一个class(inactive),外层给一个1px border,每个选项给一个 ...
-
WebSocket(5)---多人聊天系统
多人聊天系统 功能说明:多人聊天系统,主要功能点: 1.当你登陆成功后,可以看到所有在线用户(实际开发可以通过redis实现,我这边仅仅用map集合) 2.实现群聊功能,我发送消息,大家都可以看到. ...
-
[SSM项目]Eclipse 搭建marven-web项目 hello world!
配置的种种 (仅第一次)eclipse配置好tomcat.jdk.marven: 建立项目:建立mvn project-选择mvn-web 消除警告和错误: 解决错误1-项目propriety-Jav ...