最近在研究一个基于YII2的框架,原本我以为很简单,但没想到在第一步环境配置和实例化上就卡了我4个小时,这里分享出我走过的弯路和解决问题的整个流程。

关注我文章的朋友应该了解过,我之前学习easyadmin的过程中(点击前往),喜欢用phpstudy(小皮助手)来快速搭建环境,这里分享下我的前期操作。

1.升级php版本

这一步其实很简单,在小皮助手的软件管理中,安装图片上的三个php,其实其中任意一个就行了,但是我怕后续更新后又不支持了,我现在使用的是8.0的版本,这里安装完成后,你还需要到计算机环境变量里去把php路径换成你要使用的php文件路径。

这一步极其重要,关系到后续你cmd指令执行的是哪个php版本的指令。

到这里,php环境就准备完成了,接下来我们来准备数据库。

2.数据库安装(必须5.77以上)

接下来到了下一步,数据库安装,RageFrame框架需要的数据库是5.77以上,我本机的数据库是5.6,我数据库的表单数据不是很多,我选择的是全部保存后直接卸载安装最新版(我是个莫得感情的杀手),这里给出步骤。

因为我mysql5.6是用官网msi来安装的,卸载我只需要打开msi文件,选择下方Remove,一直下一步就可以了(这里图片展示的数据库是安装好的5.8)

点击链接,下载最新mysql5.8的mis文件

https://dev.mysql.com/downloads/installer/

下载后点击安装,一直下一步,设置好密码即可,这是我个人的方法,但在百度的过程中,我也找到了更多方法,这里分享一个最实用的(地址:https://blog.csdn.net/lgm_szsl/article/details/89307930)

Windows上安装MySQL

到网站https://dev.mysql.com/downloads/mysql/下载MySQL数据库

点击 Download 按钮进入下载页面,点击下图中的 No thanks, just start my download. 就可立即下载:

下载完后,我们将 zip 包解压到相应的目录,这里我将解压后的文件夹放在 H:\MyWork\mysql-8.0.11 下。

接下来我们需要配置下 MySQL 的配置文件

打开刚刚解压的文件夹H:\MyWork\mysql-8.0.11 ,在该文件夹下创建 my.ini 配置文件,编辑 my.ini 配置以下基本信息:

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8 [mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=H:\\MyWork\\mysql-8.0.11
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
# datadir=H:\\MyWork\\mysql-8.0.11\data
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

注意:安装目录一定要修改为你要安装的目录;数据的存放目录,MySQL 8+ 不需要datadir=H:\MyWork\mysql-8.0.11\data,系统自己生成即可,否则有可能报错

接下来我们来启动下 MySQL 数据库:

以管理员身份打开 cmd 命令行工具,切换目录

cd H:\MyWork\mysql-8.0.11\bin

初始化数据库:

mysqld --initialize --console

执行完成后,会输出 root 用户的初始默认密码,如:

...
2018-04-20T02:35:05.464644Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: APWCY5ws&hjQ
...

APWCY5ws&hjQ 就是初始密码,后续登录需要用到,你也可以在登陆后修改密码。

输入以下安装命令:

mysqld install

启动输入以下命令即可:

net start mysql

登录 MySQL

当 MySQL 服务已经运行时, 我们可以通过 MySQL 自带的客户端工具登录到 MySQL 数据库中, 首先打开命令提示符, 输入以下格式的命名:

mysql -h 主机名 -u 用户名 -p

如果我们要登录本机的 MySQL 数据库,只需要输入以下命令即可:

mysql -u root -p

按回车确认, 如果安装正确且 MySQL 正在运行, 会得到以下响应:

Enter password:

密码:即输入刚才自动生成的密码即可。

登录成功后你将会看到 Welecome to the MySQL monitor… 的提示语。

然后命令提示符会一直以 mysq> 加一个闪烁的光标等待命令的输入, 输入 exit 或 quit 退出登录。

具体安装教程:http://www.runoob.com/mysql/mysql-install.html

注意

修改默认密码:

当你使用Navicat Premium 12连接数据库时,输入默认密码连接成功后,会自动弹出修改默认密码,这时你输入自己的密码即可。

管理员运行命令提示符:

管理员运行命令提示符时,可能会出现进不去其他盘符的问题,如图所示:

这时,你只需要直接写盘符进入到其他盘符再使用cd操作即可,如图所示:

3.拉取项目到本地

点击链接,到git里去拉取项目

https://github.com/jianyan74/rageframe2.git

拉取到本地后,到phpstudy(小皮助手)中设置项目配置

之后我就套用官方的安装步骤,大家照着来就行

1、克隆

git clone https://github.com/jianyan74/rageframe2.git
2、进入目录 cd rageframe2
3、安装依赖 // (不建议) 如果你只有 php 7.1 也可以忽略版本进行安装 php composer.phar install --ignore-platform-reqs php composer.phar install
4、初始化项目 php init // 然后输入0回车,再输入yes回车
5、配置数据库信息 找到 common/config/main-local.php 并配置相应的信息, 注意要先创建好数据库
6、安装数据库(Mysql5.7及以上) php ./yii migrate/up
7、初始化账号密码,一键创建总管理员账号密码(注意保存) php ./yii password/init
截止到这里就安装完成了,可以去配置站点了,下面(8、9步骤)的都是根据自己实际的情况去执行 8、建议更新第三方扩展包(可选) php composer.phar update
9、Linux 下文件缓存权限授权 Linux 环境下如果是文件缓存去 backend/runtime 目录执行一下 chmod -R 777 cache,不执行可能会造成修改了网站设置缓存不生效的情况 

但在走流程的过程中,我发现cmd又很多指令会报错,这里给出我卡了一小时后终于解决的方法

1.cmd输入php -v查看php版本是否为最新版,不是就检查计算机环境变量,修改后重启就会生效。
2.检查sql数据库是否安装好,同样去计算机环境变量里去看下又没有mysql的变量,没有就添加上去。
3.检查php是否开启了pdo_firebird,没开就开起来

完成步骤后,将项目的目录定到web中的backend文件夹下,并加上伪静态

Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on # if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d # otherwise forward it to index.php
RewriteRule . index.php # Handle Authorization Header
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

打开网站,如果出现问题403,去项目中的bootstrap.php中加上

Yii::setAlias('@seller', dirname(dirname(__DIR__)) . '/seller');
Yii::setAlias('@user', dirname(dirname(__DIR__)) . '/user');

再试下

出现登录页面即实例化完成。

如果对您有所帮助,欢迎您点个关注,我会定时更新技术文档,大家一起讨论学习,一起进步。

RageFrame学习笔记:环境配置+项目拉取并实例化到本地的更多相关文章

  1. [Struts2学习笔记] -- 环境配置

    在创建好WebProject后,就可以开始进行Struts2的环境配置,可以到Struts2官网下载,本环境使用struts-2.3.24.1版本. 首先导入必要的jar包到WebProject的/W ...

  2. 02-tornado学习笔记-环境配置

    Ubuntu16.04开发环境 1.ubuntu默认root用户没有激活,激活root用户,就要为root用户创建密码   $sudo passwd root   2.修改主机名   $vi /etc ...

  3. Metasploit学习笔记——环境配置

    <Metasploit渗透测试魔鬼训练营>书56页开始配置网络环境,一共五台机器,攻击机换成了自己更常用的kali,配置方法和back track相同. kali(攻击机) 10.10.1 ...

  4. Apollo配置中心拉取,通过单独打包解决 Get config services failed from http://阿里云局域网访问IP:8080/services/config?appId=MyAppId&ip=192.168.145.1 Cause Could not complete get operation

    Apollo配置中心拉取,通过单独打包解决 Get config services failed from http://阿里云局域网访问IP:8080/services/config?appId=M ...

  5. 深度学习主机环境配置: Ubuntu16.04 + GeForce GTX 1070 + CUDA8.0 + cuDNN5.1 + TensorFlow

    深度学习主机环境配置: Ubuntu16.04 + GeForce GTX 1070 + CUDA8.0 + cuDNN5.1 + TensorFlow 最近在公司做深度学习相关的学习和实验,原来一直 ...

  6. golang学习笔记6 beego项目路由设置

    golang学习笔记5 beego项目路由设置 前面我们已经创建了 beego 项目,而且我们也看到它已经运行起来了,那么是如何运行起来的呢?让我们从入口文件先分析起来吧: package main ...

  7. 深度学习主机环境配置: Ubuntu16.04+GeForce GTX 1080+TensorFlow

    接上文<深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0>,我们继续来安装 TensorFlow,使其支持GeForce GTX 1080显卡 ...

  8. Docker技术入门与实战 第二版-学习笔记-10-Docker Machine 项目-2-driver

    1>使用的driver 1〉generic 使用带有SSH的现有VM/主机创建机器. 如果你使用的是机器不直接支持的provider,或者希望导入现有主机以允许Docker Machine进行管 ...

  9. Scrapy:学习笔记(2)——Scrapy项目

    Scrapy:学习笔记(2)——Scrapy项目 1.创建项目 创建一个Scrapy项目,并将其命名为“demo” scrapy startproject demo cd demo 稍等片刻后,Scr ...

  10. Libgdx游戏学习(1)——环境配置及demo运行

    原文: Libgdx游戏学习(1)--环境配置及demo运行 - Stars-One的杂货小窝 Libgdx游戏是基于Java的一款游戏引擎,可以发布Android,桌面端,Html,IOS等游戏,出 ...

随机推荐

  1. [Spring6.0源码解析]简述@Configuration注解

    @Configuration 标注在类上,启动 Spring 会自动扫描@Configuration注解的类,将其注册到IOC容器并实例化bean对象.如果在@Configuration注解的类中使用 ...

  2. webpack学习笔记(二)核心概念理解及基础配置

    上一篇文章 记录了 webpack 初次安装与基础使用,本篇则是记录一下如何使用webpack构建一个比较完整,基础的项目 1. webpack 的4个核心概念 入口(entry):选择项目构建的入口 ...

  3. JS leetcode 最大连续1的个数 题解分析

    壹 ❀ 引 今天来做一道十分烦躁的题目,为什么烦躁,因为我字母写错了提交了三次错了三次!!!我的leetcode正确率大大下降!!那么这道题是leetcode的485. 最大连续1的个数,题目描述如下 ...

  4. ES6学习 第三章 字符串的扩展

    前言 本章主要是内容为是 ES6 对字符串的改造和增强. 本章记录字符串的扩展常用重点部分,不常用知识稍作记录. 本章原文链接: 字符串的扩展 模板字符串(template string) ES6字符 ...

  5. ARP(Address Resolution Protocol) Packet

    Address Resolution Protocol The Address Resolution Protocol (ARP) is a communication protocol used f ...

  6. React闭包陷阱

    React闭包陷阱 React Hooks是React 16.8引入的一个新特性,其出现让React的函数组件也能够拥有状态和生命周期方法,其优势在于可以让我们在不编写类组件的情况下,更细粒度地复用状 ...

  7. display的值及作用

    display的值及作用 display属性可以设置元素的内部和外部显示类型,元素的外部显示类型将决定该元素在流式布局中的表现,例如块级或内联元素,元素的内部显示类型可以控制其子元素的布局,例如gri ...

  8. SpringBoot+MyBatisPlus+Thymeleaf+AdminLTE增删改查实战

    说明 AdminLTE是网络上比较流行的一款Bootstrap模板,包含丰富的样式.组件和插件,非常适用于后端开发人员做后台管理系统. 因为最近又做了个后台管理系统,这次就选的是AdminLTE做主题 ...

  9. spring boot和redis实现自定义前后分离token认证

    说明:文章部分代码引用自github 本项目地址:https://gitee.com/indexman/redis-token-demo 1.token认证流程 此处以前端页面请求后端用户列表接口为例 ...

  10. golang指针和结构体

    指针 指针操作 指针包括指针地址.指针类型和指针取值 &: &符号放在变量前面进行取地址操作 **:*放在变量前面根据地址进行取值 指针地址: func main() { var a ...