Yii2安装搭建和将入口文件移到根目录
用Composer下载Yii2速度太慢了,所以我还是喜欢下载打包好的框架文件。
在https://github.com/yiisoft/yii2/releases 下载最新的的Yii2,advanced是高级模板,basic是基础模板。他们的区别是高级模板里帮你分好了前后台模块,而基础模板里只有一个模块。
以高级模板为例:
下载并将里面的文件解压至D:\wamp\www\yii2advanced 里(注意:我是将压缩包里advanced文件夹里的文件解压在这里,而不是将advanced文件夹解压在此)。
然后双击init.bat进行初始化(如果你是使用基础模板则不用此步骤),输入数字0并回车选择Development模式,输入yes并回车确定。
最后导入示例数据(如果你不是要学习或体验Yii2而是要进行开发的话,这步就可以省略)。首先你需要创建一个数据库,我命名其为yii2advanced(注意:排序建议选择utf8_general_ci)。在D:\wamp\www\yii2advanced\common\config目录下,打开main-local.php文件,将里面的dbname修改成你的数据库名,username为你的数据库用户名,password为你的数据库密码。然后在yii2的根目录,也就是我的yii2advanced文件夹里,使用cmd命令进入该文件目录,输入yii migrate并回车,再输入yes确定,最后显示Migrated up successfully.说明导入数据成功。
这样Yii2的高级模板就安装完成,你可以从http://localhost/yii2advanced/frontend/web/ 访问网站的前台:
从http://localhost/yii2advanced/backend/web/ 访问网站的后台:
那么你可以从链接上发现,无论是前台还是后台,链接里都多了个/web/ ,我们希望访问的目录应该是这样:前台为http://localhost/yii2advanced,后台为http://localhost/yii2advanced/admin.php 。所以现在就来进行更改。
另外要明确的是,更改应该仅限于模块本身,而不应该去修改Yii2框架。
我们先来修改前台(这里为了避免bom头影响,建议在IDE里进行修改):
打开D:\wamp\www\yii2advanced\frontend\web 文件夹,将里面的index.php文件复制(或剪切)至根目录D:\wamp\www\yii2advanced 。然后编辑里面的内容为:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<?phpdefined('YII_DEBUG') or define('YII_DEBUG', true);defined('YII_ENV') or define('YII_ENV', 'dev'); require(__DIR__ . './vendor/autoload.php');require(__DIR__ . './vendor/yiisoft/yii2/Yii.php');require(__DIR__ . './common/config/bootstrap.php');require(__DIR__ . './frontend/config/bootstrap.php'); $config = yii\helpers\ArrayHelper::merge( require(__DIR__ . './common/config/main.php'), require(__DIR__ . './common/config/main-local.php'), require(__DIR__ . './frontend/config/main.php'), require(__DIR__ . './frontend/config/main-local.php')); $application = new yii\web\Application($config);$application->run(); |
然后再修改D:\wamp\www\yii2advanced\frontend\config 里的main.php文件,在component里加入
|
1
2
3
4
|
'assetManager' => [ 'basePath' => '@webroot/frontend/web/assets', 'baseUrl' => '@web/frontend/web/assets'], |
整个main.php应该为:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
<?php$params = array_merge( require(__DIR__ . '/../../common/config/params.php'), require(__DIR__ . '/../../common/config/params-local.php'), require(__DIR__ . '/params.php'), require(__DIR__ . '/params-local.php')); return [ 'id' => 'app-frontend', 'basePath' => dirname(__DIR__), 'bootstrap' => ['log'], 'controllerNamespace' => 'frontend\controllers', 'components' => [ 'assetManager' => [ 'basePath' => '@webroot/frontend/web/assets', 'baseUrl' => '@web/frontend/web/assets' ], 'user' => [ 'identityClass' => 'common\models\User', 'enableAutoLogin' => true, ], 'log' => [ 'traceLevel' => YII_DEBUG ? 3 : 0, 'targets' => [ [ 'class' => 'yii\log\FileTarget', 'levels' => ['error', 'warning'], ], ], ], 'errorHandler' => [ 'errorAction' => 'site/error', ], ], 'params' => $params,]; |
最后修改D:\wamp\www\yii2advanced\frontend\assets 里的AppAsset.php文件,将里面的:
|
1
2
3
4
5
6
7
8
9
|
public $css = [ 'css/site.css',];//修改为:public $css = [ 'frontend/web/css/site.css',]; |
这样就可以用http://localhost/yii2advanced 直接访问首页了。
后台修改方法是将D:\wamp\www\yii2advanced\backend\web 里的index.php文件夹复制(剪切)至根目录并重命名为admin.php,其他修改地方与上述类似,只是将frontend改为backend即可。
原文地址:http://pandaju.me/article/177 原文中的 assetManger名错了,是assetManager
关于phpcomposer方面的知识可以浏览查阅中文版的 http://www.phpcomposer.com/
Yii2安装搭建和将入口文件移到根目录的更多相关文章
- index.php入口文件至根目录
登录|注册 咖啡如同生活的专栏 从不羡慕别人的优秀,因为相信自己也可以优秀. 闲下来时看看书,书本里的故事,总有你学到的人生. 目录视图 摘要视图 订阅 异步赠书:9月重磅 ...
- PHPStudy+PHPStorm下配置隐藏项目入口文件
img { max-width: 100% } 默认情况下项目入口文件是站点根目录下index.php文件,一般程序启动时通过这个文件,定义文件路径,配置重要节点(比如是否开启调试模式),注册路由等, ...
- weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
写在前面的话: weex官方文档不完善,在整个实施过程中遇到过很多坑,中途几次想放弃,总是有些不甘心.攻坚克难,总也是会有一些收获,先将收获进行分享也或是记录,防止忘记.要想用好weex必须对es5/ ...
- Yii2中的入口文件环境配置
默认的Debug配置 在入口文件中 defined ( 'YII_DEBUG' ) or define ( 'YII_DEBUG', true ); defined ( 'YII_ENV' ) or ...
- Yii2的深入学习--入口文件
前一段时间,尝试去写一个 php 的简单框架,发现自己还欠缺很多,就暂时停掉了.准备先读完 Yii2 的源码,然后再去看完 laravel 的源码,最后再继续去写这个简单的 php 框架. 之后关于 ...
- Yii2 高级模板不使用Apache配置目录,将前后台入口移到根目录
刚刚入手Yii2高级模板不久,部署项目时,得部署2个应用,个人感觉很繁琐,就将前后台入口文件全部拿到项目根目录.但是一看,完了,出错了!找教程找不到,还是自己解决吧 为了以后好升级,不改变Yii2核心 ...
- Yii2 源码分析 入口文件执行流程
Yii2 源码分析 入口文件执行流程 1. 入口文件:web/index.php,第12行.(new yii\web\Application($config)->run()) 入口文件主要做4 ...
- Ubuntu18 安装搭建Harbor
1.安装docker-compose1.下载docker-compose的最新版本 sudo curl -L "https://github.com/docker/compose/relea ...
- 从零开始安装搭建win10与ubuntu20.04双系统开发环境——集安装、配置、软件、美化、常见问题等于一体的——超详细教程
目录 **前言 ** 关于系统安装配置与软件安装 一.Win10安装ubuntu20.04双系统 1.按照自己的需求分区 2.配置软件镜像源 软件包管理工具介绍 更换APT源--使用国内镜像 3.解决 ...
随机推荐
- html之页面元素印射
首先我遇到了一个问题,尽管不是搞前端开发的但事情交到了我这里就有必要去解决. 而这个问题就是我在这边文本框输入的内容要显示在另一个文本框中其实也是非常简单.但是对于初出茅庐的新手来说就有可能会难倒他. ...
- 第三章 Git使用入门
我们都知道Linux和Android是开源的.Linux下的软件很多都不直接以二进制形式的安装包提供,而是直接提供了源代码,为了减少发行包的大小,用户须先下载源代码,在本机上编译并安装,使用make. ...
- 使用windows crypt API解析X509证书
一.版本号 结构体CERT_INFO中的字段dwVersion即为证书版本,可以直接通过下面的代码获得: DWORD dwCertVer = m_pCertContext->pCertInfo- ...
- 转载——C++控制台贪吃蛇代码
游戏截图: 以下是3个代码文件: Snake_Class.h文件: 1 #ifndef SNAKE 2 #define SNAKE 3 4 #include<windows.h> 5 #i ...
- BZOJ 1799 同类分布
一开始没想出来..一看题解 我艹直接枚举数位的和啊.....怪不得给50s. 还是太蠢. #include<iostream> #include<cstdio> #includ ...
- 多线程知识点总结 -NSThread4
NSThread 三种创建方式 NSThread的对象方法 - (void)threadDemo1 { NSLog(@"before %@", [NSThread currentT ...
- 610K图纸打印新版增值税发票不完整的调整方法
新版增票页面设置增票向下0.8向右-10,10刻度进纸测试 向右调整可能会有些出入 根据情况微调即可.
- 解决Tomcat7“At least one JAR was scanned for TLDs yet contained no TLDs”问题
解决Tomcat7“At least one JAR was scanned for TLDs yet contained no TLDs”问题 2013-12-05 21:58:00| 分类: t ...
- 世界超强完美DIY 电子奇才五年全手工制作CPU
世界超强完美DIY 电子奇才五年全手工制作CPU 2015-07-08 极客范 (点击上方公众号,可快速关注我们) 在如今越来越靠程序化.流水线作业来完成生产的制造业中,想找一件手工打造的产品,真是越 ...
- anjularjs简介
1 什么时候该用AngularJS AngularJs(后面就简称ng了)是一个用于设计动态web应用的结构框架.首先,它是一个框架,不是类库,是像EXT一样提供一整套方案用于设计web应用.它不仅仅 ...