YII初探
博客专区 > 墨梅 的博客 > 博客详情
YII初探
墨梅 发表于1年前
YII初探
  • 发表于 1年前
  • 阅读 18
  • 收藏 0
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

摘要: 转到PHP已有两年左右,虽不是自愿,然已经入坑,退路已断,亦只有埋头向前。说话学习PHP不了解一个大的框架很是说不过去,碰巧公司使用新的框架,可以对YII一谈究竟。

写此文是对自己的一种督促,也是对学习过程的一个记录。 先说一下对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全部可以访问了

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 14
博文 210
码字总数 42469
×
墨梅
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: