Как настроить PhpRedis в Laravel 5+?

Фон
Попытка использовать PhpRedis в Laravel 5.3 на локальном сервере Mac OSX
работает Apache 2.4.18, Php 7.0.14 и доморощенный
... не требуя дополнительных (неофициальных) библиотек композитора

Redis устанавливается через homebrew install redis и работает
проверено redis-cli ping который дает PONG

PhpRedis установлен через homebrew install php70-redis и работает
проверено php -r "if (new Redis() == true){ echo \"\r\n OK \r\n\"; }" который дает OK


Настроить
С документацией и этим решением SO Laravel 4 я делаю следующее:

  1. изменить (или прокомментировать и добавить) alias определение в app/config/app.php из
    'Redis' => 'Illuminate\Support\Facades\Redis'
    в
    'LRedis' => 'Illuminate\Support\Facades\Redis'
  2. добавить определение клиента в redis определение базы данных в config/database.php
    'client' => 'phpredis',
  3. бежать composer dump-autoload а также php artisan optimize
  4. используйте этот переименованный псевдоним в примере кода маршрута:

    Route::get('redistesturl', function () { $app = LRedis::connection(); $app->set("name", "Bob Cool"); print_r($app->get("name")); });


ошибки

FatalThrowableError in Database.php line 62:
Class 'Predis\Client' not found

Также проверен вызов redis в маршруте согласно ответу SO, упомянутому выше:

$redis = Illuminate\Support\Facades\Redis::connection();

... но получить ту же ошибку

Если я попытаюсь получить доступ LRedis Класс внутри контроллера, как это:

use Illuminate\Support\Facades\Redis;

class MyController extends Controller
{
    public function redistest(){
        $redis = LRedis::connection();
        $redis->set('name', 'Bob Cool');
        return $redis->get('name');
    }
}

Я получаю следующую ошибку:

FatalThrowableError in Preferences.php line 15:
Class 'App\Http\Controllers\LRedis' not found

Заметки
проверенный Predis и получил нормально работать, только добавив официальный predis библиотека, как указано в документах.

Я могу заставить PhpRedis нормально работать в моей системе (с теми же примерами маршрутов и контроллеров), если я использую дополнительную библиотеку, подобную этой, следуя этому Laracast... однако этот вопрос конкретно:

"Как настроить PhpRedis в Laravel 5+ без дополнительных библиотек композитора?"

2 ответа

      FatalThrowableError in Preferences.php line 15:
Class 'App\Http\Controllers\LRedis' not found

Вы не включили пространство имен для класса LRedis

      <?php
use LRedis

Вам нужен двоичный файл PHP Redis.

https://github.com/phpredis/phpredis/blob/develop/INSTALL.markdown

      pecl install redis
Другие вопросы по тегам