【问题标题】:Non-static method Redis::get() cannot be called statically in laravel 5.4?在 laravel 5.4 中不能静态调用非静态方法 Redis::get()?
【发布时间】:2018-02-23 01:29:01
【问题描述】:

我正在使用 Redis 来存储数据 在我的本地系统中一切正常。我也使用此命令在 laravel 中成功安装了 redis composer require predis/predis 并且还安装了窗口的 Redis 设置。现在,当我像这样在 Redis 中存储数据时:-

Redis::set('first',"My first Test"); // put data in Redis key
echo Redis ::get('first'); // get data

以上代码在我的本地系统中运行良好。当我尝试在实时服务器中使用此代码时,它显示以下错误:- 请帮我解决这个问题。我们正在使用 amazon-ec2 服务器提前谢谢:)

【问题讨论】:

  • 你在服务器中也试过这个命令吗?:composer require predis/predis
  • 我已经上传了 vendor 文件夹和 composer.json
  • 我认为我们从来没有在服务器上上传供应商文件夹,只是更新作曲家并使用composer update安装所有软件包!
  • 但每次我在本地系统中安装包时,如 maatwebsite excel 等,我都上传了供应商文件夹和 composer .json,然后运行良好
  • 是的,它很好,但实际情况是我们从不上传 server/git 中的供应商文件夹。我们总是忽略.gitignore 文件。只需更新 composer.json 文件并在服务器中更新作曲家。因此,将所有软件包文件安装在他们的供应商文件夹中!并且不会丢失任何文件!

标签: php laravel amazon-ec2 redis laravel-5.4


【解决方案1】:

我遇到了同样的问题。但我相信它与 php 7 而不是 Larevel 5.4 有关,因为我使用的是 Laravel 5.1,但我仍然有问题。

我遇到了 2 个解决方案

  1. 如果要静态调用 Redis 方法,请使用 use Illuminate\Support\Facades\Redis; 而不是 use Redis;
  2. 改为动态调用

$redis = new Redis(); $redis->set('boo','Have beer and relax!') $redis->get('boo');

【讨论】:

  • 是的,我已经尝试过了,现在它的工作原理告诉我如何在另一个函数中获得 redis "boo"
  • 谢谢。使用使用 Illuminate\Support\Facades\Redis;而不是使用 Redis;如果你想静态调用 Redis 方法。
【解决方案2】:
  • 只需从您的 php.ini 中删除或注释掉 extension=php_redis.dll
  • Laravel 和服务器 Redis 与名称“Redis”冲突
  • 这会起作用

【讨论】:

    【解决方案3】:

    在 Laravel 数据库配置中,您可以为您的 Redis 处理程序定义一个客户端。 安装 predis 后,您的 Redis 数据库配置应如下所示

    'redis' => [
    
               'client' => 'predis',
    
               'cluster' => false,
    
               'default' => [
                      'host' => env('REDIS_HOST', 'localhost'),
                      'password' => env('REDIS_PASSWORD', null),
                      'port' => env('REDIS_PORT', 6379),
                      'database' => 0,
               ],
    

    Redis Facades 的 PhpRedis 扩展和 Laravel 别名是相同的,这导致了问题。如果您想使用 PhpRedis 扩展,您需要更改 app.php 中定义的别名关键字和数据库配置中的客户端。

    【讨论】:

      猜你喜欢
      • 2023-02-22
      • 2012-06-01
      • 1970-01-01
      • 2019-12-02
      • 2014-09-08
      • 2013-03-20
      • 2020-12-27
      相关资源
      最近更新 更多