landong66

landong66

这家伙有点懒,还没写个性签名!

  • 财富值115
  • 威望值0
  • 总积分205

个人信息

  • 提出了问题
    关于 Yii 2 Redis 的使用
  • 回复了 的说说
    今日权威指南中文版已更新,继续招募翻译的同学,有意请加群:8434018
    顶,赞一个
  • 提出了问题
    为什么rules验证规则不生效?
  • 回复了 的评论

    请问以下yii2 基础版本 怎么安装queue呢,高级版本安装成功了,但是我现在项目用的是基础版本,最后没有init.bat来重置生成 在cmd下 yii后,都没有关于queue的命令

    好的,谢谢,问题已经解决!

  • 回复了 的回答

    上面几层说的都对哦,我也再重复一下。

    思路就是哪里需要在哪里配置,比如你在web模式下的某些action内要实现将信息写入队列的操作,因此你需要配置config/web.php,就有了如下代码

    // 组件
    'queue' => [
        'class' => \yii\queue\file\Queue::class,
    ],
    

    但是你需要通过yii2的命令行模式去监听或运行队列,让每个worker在流水线上工作,因此需要配置 config/console.php

    'bootstrap' => ['log','queue'],
    // 组件里
    'queue' => [
        'class' => \yii\queue\file\Queue::class,
    ],
    

    阿北哥ya

    谢谢,你的答案正确,不过最佳答案没有能给你;抱歉。我是按照回答的先后顺序来给的!

  • 回复了 的回答

    在console或者common中config/main.php添加下面配置

    return [
        'vendorPath' => dirname(dirname(__DIR__)) . '/vendor',
        'components' => [
            'redis' => [
                'class' => 'yii\redis\Connection',
                'hostname' => '127.0.0.1',
                'port' => 6379,
                'database' => 0,
            ],
            'queue' => [
                'class' => 'yii\queue\redis\Queue',
                'redis' => 'redis', // Redis connection component or its config
                'channel' => 'queue', // Queue channel key
                'as log' => 'yii\queue\LogBehavior',
                'ttr' => 10 * 60, // Max time for anything job handling
                'attempts' => 3, // Max number of attempts  选项设置了最大的尝试次数
            ],
        ],
    ];
    
    

    谢谢,你的思路是对的,基础版要在console.php里面配置后才生效,一直在高级版里面用init来生成导致了误区。不过最佳答案没有给你抱歉,我是按照回答的先后顺序来给的!

  • 回复了 的回答

    基础版config下的console.php做同样的配置后再试下

    谢谢,确实是在console.php里面配置后就生效了。非常感谢!

  • 经测试修改
    [root@instance-name var]# vi /etc/selinux/config

    输入上面的命令打开文件看到以下内容

    SELINUX= can take one of these three values:

    enforcing - SELinux security policy is enforced.

    permissive - SELinux prints warnings instead of enforcing.

    disabled - No SELinux policy is loaded.

    SELINUX=enforcing

    SELINUXTYPE= can take one of these two values:

    targeted - Targeted processes are protected,

    minimum - Modification of targeted policy. Only selected processes are protected.

    mls - Multi Level Security protection.

    SELINUXTYPE=targeted

    把SELINUX=enforcing 值修改成 SELINUX=disabled 然后保存重启服务器即可

  • 已经找到原因,增加了模块,必须要在网站根目录下增加一个htaccess文件,默认从index.php文件跳转才得行;如果是默认的控制器就可以,增加了模块就必须要增加一个htaccess文件作为跳转

  • 回复了 的回答

    能详细说下吗,我也遇到了这个问题,htaccess文件在web目录下应该已经有一个了呀

    htaccess文件里面直接这样配置就好

    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

见习主管 等级规则
205/500
资料完整度
30/100
用户活跃度
0/100

Ta的关注

0

Ta的粉丝

2

Ta的访客

11