복붙노트

[REDIS] Laravel 4 : 정의되지 않은 메서드 레디 스에 전화 : 연결 ()

REDIS

Laravel 4 : 정의되지 않은 메서드 레디 스에 전화 : 연결 ()

나는이 오류에 대한 미친거야. 내가 Puphpet 생성 데비안 7 방랑 VM을 가지고, 설치는 잘했다.

레디 스 서버가 실행 중입니다 :

나는 127.0.0.1:6379에 서버를 사용할 수 있습니다 :

PHP5 - 레디 스 실제로 설치됩니다

다음은 응용 프로그램 / 지역 / database.php에서 파일을 config (설정) 내 레디 스입니다 :

'redis' => [

    'cluster' => false,

    'default' => [
    'host'     => '127.0.0.1',
    'port'     => 6379,
    'database' => 0,
    ],
],
// Get redis
$redis = Redis::connection();
sudo service nginx reload
sudo service redis-server force-reload
composer dumpautoload

그러나 아무것도 오류를 해결합니다.

난 아직도 데 :

ERROR: exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Call to undefined method Redis::connection()' in /var/www/fd/app/menus/admin.menu.php:16

(16 라인은 내가 연결 $ 레디 스 = 레디 스 :: 연결 () 할 경우)

어디에서 잘못입니까?

BTW, 나는> 월요일을 싫어.>

해결법

  1. ==============================

    1.나는이 문제가 발생한 후이 건너 온과 다른 사람을 도움이 경우에 다른 대답을 추가하고 싶었다.

    나는이 문제가 발생한 후이 건너 온과 다른 사람을 도움이 경우에 다른 대답을 추가하고 싶었다.

    내 PHP 구성 / 확장이 활성화 된 PHP - 레디 스 모듈을 가지고 있기 때문에 내 경우에는 별칭 충돌이 있었다 - PHP 모듈과 Laravel 모두 레디 스라는 이름의 충돌 객체를 갖고있는 것 같다. 나는 단순히 전체 네임 스페이스 식별자를 사용하여이 문제를 해결할 수 있었다 :

    //$r = Redis::connection() 
    $r = Illuminate\Support\Facades\Redis::connection();
    
  2. ==============================

    2.문제는 당신의 레디 스 서버 설치를하지 않습니다 - 뭔가 잘못 구성된 또는 시스템에 변화가있다.

    문제는 당신의 레디 스 서버 설치를하지 않습니다 - 뭔가 잘못 구성된 또는 시스템에 변화가있다.

    당신이보고있는 오류

    Call to undefined method Redis::connection()
    

    PHP이 알려주는 클래스 레디 스에 연결이라는 방법을 찾을 수 없습니다. 그것은 PHP 오류, 그리고 PHP는 결코 레디 스 서버에 얘기하려고 주위에 얻을 수 없습니다.

    일반적으로, Laravel 4.2 시스템에서 레디 스라는 이름의 클래스가 없습니다. 대신, 별명은 응용 프로그램 / 설정 / app.php의 설정입니다

    #File: app/config/app.php
    'Redis'           => 'Illuminate\Support\Facades\Redis',
    

    이는 외관으로 레디 스를 켭니다. 이것은 당신이 레디 스 같은 통화 : 연결을 할 수 있습니다 것입니다.

    따라서, 귀하의 시스템에 뭔가 잘못이있다. 당신이 어느

    PHP는 레디 스 클래스, 시도가라고 생각 곳을 찾으려면

    $r = new ReflectionClass('Redis');
    var_dump($r->getClassFile());
    

    # 4이 문제가 있는지 확인하려면 직접 서비스를 호출 시도

    $app = app();
    $app['redis']->connection();
    

    행운을 빕니다!

  3. ==============================

    3.설치 및 PHP5 - 레디 스, 그것은 클래스 레디 스로 된 모듈을 활성화 한 때문 오류입니다. Laravel 레디 스 외관을 그 오류를 방지하고 사용하려면 응용 프로그램의 별칭을 변경해야 / 설정 / app.php (또는 환경입니다 무엇이든).

    설치 및 PHP5 - 레디 스, 그것은 클래스 레디 스로 된 모듈을 활성화 한 때문 오류입니다. Laravel 레디 스 외관을 그 오류를 방지하고 사용하려면 응용 프로그램의 별칭을 변경해야 / 설정 / app.php (또는 환경입니다 무엇이든).

    '레디 스'=> '를 분명히 \ 지원 \ 외관 \ 레디 스'

    'RedisFacade'=> '를 분명히 \ 지원 \ 외관 \ 레디 스'// 당신이 무엇을 좋아

    아니면 그냥 레디 스를 사용 만 캐시 클래스를 사용하도록 cache.php를 구성합니다. :)

  4. ==============================

    4.PC에서 레디 스 확장을 설치합니다.

    PC에서 레디 스 확장을 설치합니다.

    다음 링크에서 올바른 버전 DDL 다운로드 : https://pecl.php.net/package/redis/4.1.0/windows

    올바른 폴더에 DLL을 넣어

    Wamp -> C:\wamp\bin\php\php-XXXX\ext
    Laragon -> C:\laragon\bin\php\php-XXX\ext
    

    편집 php.ini 파일이 추가

    extension=php_redis.dll
    

    다시 서버 점검은 phpinfo (); 이제 레디 스가 있어야한다!

  5. from https://stackoverflow.com/questions/25975794/laravel-4-call-to-undefined-method-redisconnection by cc-by-sa and MIT license