Redis /宅基/ Laravel 7-拒绝连接

时间:2020-10-28 15:11:27

标签: php laravel testing redis homestead

在尝试让我们用TDD系列建立论坛时,我正在尝试让Redis工作。我已经看过第66集,它介绍了Redis并编写了第一个测试...然后繁荣,它爆炸了。已经进行了很多搜索,但是答案似乎没有关联。

我正在使用宅基地,因此应该在环境中安装Redis-使用Windows上的Vagrant框。

我已经安装了predis并确认这是通过供应商库导入并撰写软件包的

我已经通过SSH进入homestead盒并运行redis-cli并执行ping / pong测试,以确认redis服务器实际上正在运行。

我还运行了redis-server --version版本测试。

Redis server v=5.0.8 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=129cf1a0751f12a

在教程之后,我编写了第一个测试

public function test_it_increments_a_threads_score_each_time_it_is_read()
    {

        $this->assertEmpty( Redis::zrevrange('trending_threads', 0, -1));

        $thread = create('App\Thread');

        $this->call('GET', $thread->path());

        Redis::zrevrange('trending_threads', 0, -1);

        $this->assertCount(1,  Redis::zrevrange('trending_threads', 0, -1));


    }

我所能得到的是

Predis\Connection\ConnectionException : No connection could be made because the target machine actively refused it. [tcp://127.0.0.1:6379]

当我逐行关注所有内容,我没有使用Xamp或Homestead之外的任何其他工具却仍然出现此错误时,我真的很难弄清楚为什么此消息仍然存在。

该配置是标准配置,已更新到predis库

    'redis' => [

        'client' => env('REDIS_CLIENT', 'predis'),

        'options' => [
            'cluster' => env('REDIS_CLUSTER', 'redis'),
            'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
        ],

        'default' => [
            'url' => env('REDIS_URL'),
            'host' => env('REDIS_HOST', 'localhost'),
            'password' => env('REDIS_PASSWORD', null),
            'port' => env('REDIS_PORT', '6379'),
            'database' => env('REDIS_DB', '0'),
        ],

        'cache' => [
            'url' => env('REDIS_URL'),
            'host' => env('REDIS_HOST', '127.0.0.1'),
            'password' => env('REDIS_PASSWORD', null),
            'port' => env('REDIS_PORT', '6379'),
            'database' => env('REDIS_CACHE_DB', '1'),
        ],

    ],

我的宅基地Yaml

---
ip: "10.100.110.10"
memory: 2048
cpus: 2
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: ~/code
      to: /home/vagrant/code

sites:

    - map: tweety.test.com
      to: /home/vagrant/code/tweety/public

    - map: bird.test.com
      to: /home/vagrant/code/birdboard/public

    - map: ecosystem.test.com
      to: /home/vagrant/code/ecosystem/public

    - map: multiform.test.com
      to: /home/vagrant/code/multi_upload/public


databases:
    - tweety
    - birdboard
    - ecosystem
    - multi_upload

features:
    - mariadb: false
    - ohmyzsh: false
    - webdriver: false

# ports:
#     - send: 50000
#       to: 5000
#     - send: 7777
#       to: 777
#       protocol: udp

有人有没有遇到过这个问题或对方向有任何想法?它使我疯狂,并且是该系列中的一个很大的障碍。

供参考-我通过Windows笔记本电脑上的Vagrant Box在Homestead上运行Laravel 7。 :)

全力以赴

1 个答案:

答案 0 :(得分:0)

您还可以添加Homestead.yaml文件吗? 可能是您需要将此文件中的IP地址更改为192.168.10.10