Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

SI-IC's avatar
Level 1

Problem with telescope when using redis cache

Can anyone help me? I posted this bug to the github, but they addressed me to the forum.

  • Telescope Version: 4.8.0
  • Laravel Version: 9.4.1
  • PHP Version: 8.1.3
  • Database Driver & Version: mysql 8.0.28

Description:

I have installed laravel sail and telescope. When I use in my code something like

$config = Cache::rememberForever('config', function () { return 'hello'; });

everything works great and laravel returns me cache value, but I get a large number of next errors:

[2022-03-23 12:35:27] local.ERROR: Class "Redis" not found {"exception":"[object] (Error(code: 0): Class "Redis" not found at /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Redis/Connectors/PhpRedisConnector.php:75) [stacktrace] #0 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Redis/Connectors/PhpRedisConnector.php(28): Illuminate\Redis\Connectors\PhpRedisConnector->createClient() #1 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Redis/Connectors/PhpRedisConnector.php(32): Illuminate\Redis\Connectors\PhpRedisConnector->Illuminate\Redis\Connectors\{closure}() #2 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Redis/RedisManager.php(112): Illuminate\Redis\Connectors\PhpRedisConnector->connect() #3 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Redis/RedisManager.php(91): Illuminate\Redis\RedisManager->resolve() #4 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Cache/RedisStore.php(258): Illuminate\Redis\RedisManager->connection() #5 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Cache/RedisStore.php(62): Illuminate\Cache\RedisStore->connection() #6 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Cache/Repository.php(97): Illuminate\Cache\RedisStore->get() #7 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php(418): Illuminate\Cache\Repository->get() #8 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(242): Illuminate\Cache\CacheManager->__call() #9 /home/alex/Documents/fullstack/vendor/laravel/telescope/src/Telescope.php(255): cache() #10 /home/alex/Documents/fullstack/vendor/laravel/telescope/src/Telescope.php(149): Laravel\Telescope\Telescope::startRecording() #11 /home/alex/Documents/fullstack/vendor/laravel/telescope/src/TelescopeServiceProvider.php(33): Laravel\Telescope\Telescope::start() #12 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Laravel\Telescope\TelescopeServiceProvider->boot() #13 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}() #14 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure() #15 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(37): Illuminate\Container\BoundMethod::callBoundMethod() #16 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Container/Container.php(653): Illuminate\Container\BoundMethod::call() #17 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(928): Illuminate\Container\Container->call() #18 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(909): Illuminate\Foundation\Application->bootProvider() #19 [internal function]: Illuminate\Foundation\Application->Illuminate\Foundation\{closure}() #20 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(910): array_walk() #21 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php(17): Illuminate\Foundation\Application->boot() #22 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(239): Illuminate\Foundation\Bootstrap\BootProviders->bootstrap() #23 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(310): Illuminate\Foundation\Application->bootstrapWith() #24 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(127): Illuminate\Foundation\Console\Kernel->bootstrap() #25 Command line code(1): Illuminate\Foundation\Console\Kernel->handle()

I tried to set alias in app config for Redis 'Redis' => Illuminate\Support\Facades\Redis::class and I got next errors:

[2022-03-23 14:19:27] local.ERROR: Please make sure the PHP Redis extension is installed and enabled. {"exception":"[object] (LogicException(code: 0): Please make sure the PHP Redis extension is installed and enabled. at /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Redis/Connectors/PhpRedisConnector.php:77) [stacktrace] #0 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Support/helpers.php(302): Illuminate\Redis\Connectors\PhpRedisConnector->Illuminate\Redis\Connectors\{closure}() #1 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Redis/Connectors/PhpRedisConnector.php(121): tap() #2 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Redis/Connectors/PhpRedisConnector.php(28): Illuminate\Redis\Connectors\PhpRedisConnector->createClient() #3 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Redis/Connectors/PhpRedisConnector.php(32): Illuminate\Redis\Connectors\PhpRedisConnector->Illuminate\Redis\Connectors\{closure}() #4 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Redis/RedisManager.php(112): Illuminate\Redis\Connectors\PhpRedisConnector->connect() #5 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Redis/RedisManager.php(91): Illuminate\Redis\RedisManager->resolve() #6 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Cache/RedisStore.php(258): Illuminate\Redis\RedisManager->connection() #7 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Cache/RedisStore.php(62): Illuminate\Cache\RedisStore->connection() #8 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Cache/Repository.php(97): Illuminate\Cache\RedisStore->get() #9 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php(418): Illuminate\Cache\Repository->get() #10 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(242): Illuminate\Cache\CacheManager->__call() #11 /home/alex/Documents/fullstack/vendor/laravel/telescope/src/Telescope.php(255): cache() #12 /home/alex/Documents/fullstack/vendor/laravel/telescope/src/Telescope.php(149): Laravel\Telescope\Telescope::startRecording() #13 /home/alex/Documents/fullstack/vendor/laravel/telescope/src/TelescopeServiceProvider.php(33): Laravel\Telescope\Telescope::start() #14 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Laravel\Telescope\TelescopeServiceProvider->boot() #15 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}() #16 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure() #17 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(37): Illuminate\Container\BoundMethod::callBoundMethod() #18 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Container/Container.php(653): Illuminate\Container\BoundMethod::call() #19 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(928): Illuminate\Container\Container->call() #20 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(909): Illuminate\Foundation\Application->bootProvider() #21 [internal function]: Illuminate\Foundation\Application->Illuminate\Foundation\{closure}() #22 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(910): array_walk() #23 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php(17): Illuminate\Foundation\Application->boot() #24 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(239): Illuminate\Foundation\Bootstrap\BootProviders->bootstrap() #25 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(310): Illuminate\Foundation\Application->bootstrapWith() #26 /home/alex/Documents/fullstack/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(127): Illuminate\Foundation\Console\Kernel->bootstrap() #27 Command line code(1): Illuminate\Foundation\Console\Kernel->handle() #28 {main}

I have CACHE_DRIVER=redis in my .env and I didn't change initial cache and database configs.

What I do wrong?

Thanks in advance.

Steps To Reproduce:

Install Laravel with sail and telescope, and try to use cache.

0 likes
10 replies
SI-IC's avatar
Level 1

@okusax Good day. Yes, I have configured Redis in accordance with documentation and Redis works great when I use it in any code in my project but not in Telescope. I didn't install predis because I use Laravel Sail and it has preinstalled phpredis by default. I don't want to use predis because it has to 4 times worse performance. Thanks.

Sinnbeck's avatar

Did you try

composer dump-autoload
php artisan cache:clear
SI-IC's avatar
Level 1

@Sinnbeck Hello, I did try it right now and have the same result. I use Sail from the box without any customization. Apparently I will have to use Predis.

chris_j's avatar

Don't forget to prefix (or replace php) when running commands with Sail.

I'm able to use Redis with Sail quite happily with no change to the config.

Redtama's avatar

@si-ic Did you ever find a solution to this? I have run into the exact same problem specifically with Redis + Sail + Telescope. It is just as you described. Redis is working absolutely perfectly in every respect but Telescope insists on flooding my logs with errors. As you say, predis is significantly less performant so would much prefer to stick with phpredis!

@chris_j The issue is not with just Redis + Sail (these are working perfectly), but Redis + Sail + Telescope.

SI-IC's avatar
Level 1

@Redtama No, I didn't. I had to turn off the telescope and turn it on only for short periods of time.

Redtama's avatar

@SI-IC That sucks. I'm thinking it might warrant an issue on github for the telescope package. I cannot find any solution so I wonder if it is an issue in the telescope package itself.

Redtama's avatar

@si-ic I found that you already opened an issue on github and it didn't really get taken seriously and assumed you hadn't installed the phpredis properly. I have opened another issue myself and have tried to make the steps to reproduce as simple as possible. Hopefully they'll realise it is not just user error this time and actually provide a fix.

https://github.com/laravel/telescope/issues/1270

Please or to participate in this conversation.