文档章节

YII初探

墨梅
 墨梅
发布于 2016/12/07 10:44
字数 605
阅读 24
收藏 0

写此文是对自己的一种督促,也是对学习过程的一个记录。 先说一下对YII的第一感觉:封装极好,好像使用很方便,工具插件很多,可以很方便的开发一套mvc站点。 为啥会有这样的感觉?是因为我之前接触到的框架都是更贴近原生,代码极简,只保留核心模块,大部分功能都要自己动手来写。此前一直认为php框架也就是解决了一些基本路由,数据库处理和视图生成的功能。学习Yii之后才发现,框架其实可以做的很方便,代码开发效率可以更高,由此可见此前的自己还是太井底之蛙了! 最后,附上自己了解到的一个小问题,并以此文为开始,记录自己的Yii学习之旅。

使用Gii模块,报403错误

Forbidden (#403)           
 You are not allowed to access this page.
 
 The above error occurred while the Web server was processing your request.    
 Please contact us if you think this is a server error. Thank you.

如果出到以上的错误,请先确认你的配置是否是正确的。

if (YII_ENV_DEV) {
    // configuration adjustments for 'dev' environment
    $config['bootstrap'][] = 'debug';
    $config['modules']['debug'] = [
        'class' => 'yii\debug\Module',
    ];

    $config['bootstrap'][] = 'gii';
    $config['modules']['gii'] = [
        'class' => 'yii\gii\Module',
    ];
}

原始 的配置是这样的,如果你的 使用的是本地的服务器的话也就是localhost,则不会存在问题。

如果你使用的是远程服务器或者本地虚拟机的话,就会出现以上的错误提示了 详细分析得知,是Gii做了默认IP限定了 源代码如下:

namespace yii\gii;

use Yii;
use yii\base\BootstrapInterface;
use yii\web\ForbiddenHttpException;
class Module extends \yii\base\Module implements BootstrapInterface
{
public $controllerNamespace = 'yii\gii\controllers';
public $allowedIPs = ['127.0.0.1', '::1'];
。。。。。。

源代码做了限定了 只允许 127.0.0.1是可以访问的其他都是不行的。

所以解决以上的问题 需要修改配置如下:

if (YII_ENV_DEV) {
    // configuration adjustments for 'dev' environment
    $config['bootstrap'][] = 'debug';
    $config['modules']['debug'] = [
        'class' => 'yii\debug\Module',
    ];

    $config['bootstrap'][] = 'gii';
    $config['modules']['gii'] = [
        'class' => 'yii\gii\Module',
        'allowedIPs' => ['127.0.0.1', '::1', '192.168.*.*', '192.168.178.20'],
    ];
}

这样在 allowedIPs 数组里面的IP全部可以访问了

© 著作权归作者所有

共有 人打赏支持
墨梅
粉丝 16
博文 218
码字总数 43367
作品 0
杭州
后端工程师
Yii入门指导(四):强大的“小物件”

1,修改默认的控制器 Yii的默认应用: 所有的配置都可以在main.php中进行配置,那么修改默认的控制器就是在main.php中增加如下代码: 'defaultController' => '', //修改默认控制器 Yii模块:...

Koma
2014/10/24
0
1
Yii入门指导(三):Yii“模块”窥探

1,Yii模块简介 Yii中的模块,可以把它看做成一个单独的应用,它具有独立的控制器、模型、视图以及组件等。 通常情况下,我们使用Yii做WEB项目开发,那么“默认的Yii应用”我们可以作为WEB的...

Koma
2014/10/22
0
0
安装指南: 带有 RBAC 的 Yii2 高级模板

在这里我介绍一种快速简单的方法来在 Yii2 高级模版中安装 RBAC(Role Based Access Control) 系统 安装: Yii2 高级模板 在这里使用 安装 yii2 高级模板。假如你的机器中没有 请下载 它的最新...

首席烤地瓜
2016/11/10
17
0
在 Swoole 上运行 yii2 - yii2-swoole

yii2 swoole:让yii2运行在swoole上 性能 运行在swoole上的yii2是运行在php-fpm上yii2的5倍以上,而且一句代码也不用修改。 在线demo性能体验 各个演示站点后台 用户名:feehicms 密码123456 ...

liufee
2017/12/24
139
1
Yii2中关于组件的注册以及创建的方法详解

了解yii组件注册与创建的过程,并发现原来yii组件注册之后并不是马上就去创建的,而是待到实际需要使用某个组件的时候再去创建对应的组件实例的。本文大概记录一下这个探索的过程。   要了...

botkenni
06/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring Cloud Gateway真的有那么差吗?

前言 Spring Cloud从一开始最受大家质疑的就是网关性能,那是由于Spring Cloud最初选择了使用Netflix几年前开源的Zuul作为基础,而高性能版的Zuul 2在经过了多次跳票之后,对于Spring这样的整...

Java小铺
47分钟前
1
0
SpringBoot远程调试,远程debug你的线上项目

开发环境中代码出错了,可以利用IDE的debug功能来进行调试。那线上环境出错呢? 一、假设我们的项目是部署在tomcat中,那我们就需要对tomcat进行一定对配置,配置如下。 1. windows系统中,找...

nonnetta
52分钟前
0
0
JAVA秒杀优化方向

秒杀优化方向 将请求尽量拦截在系统上游:传统秒杀系统之所以挂,请求都压倒了后端数据层,数据读写锁冲突严重,几乎所有请求都超时,流量虽大,下单成功的有效流量甚小,我们可以通过限流、...

小贱是个程序员
今天
0
0
C# 统计字符串中大写字母和小写字母的个数

static void Main() { int count1 = 0; int count2 = 0; Console.WriteLine("请输入字符串"); string str = Convert.ToString(Consol......

熊二的爸爸是谁
今天
0
0
分布式服务框架之远程通讯技术及原理分析

在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS等,这些名词之间到底是...

老道士
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部