PHP7.3
拉威尔5.8
到目前为止,我一直在使用predis作为我在laravel项目中的缓存。现在我想换成phpredis。我读到它非常简单(只是配置更改),但我有很多问题。我不知道从什么开始,所以我会把我知道的写下来。
我的主机提供商声称phpredis已启用。
下面的代码在控制器中执行(predis已设置)工作正常-我收到设置值。
$redis=new\redis();
$redis->connect('socket path',0);
$redis->set('test','testvalue');
print\u r($redis->get('test'));
但是,通过ssh执行的原始php文件中的相同代码返回“uncaught error:class'redis'not found in…”
让我们转到config/database.php中的更改。以下是我的配置:
'redis' => [
'client' => env('REDIS_CLIENT', 'predis'/*'phpredis'*/),
'cluster' => true,
'options' => [
'cluster' => env('REDIS_CLUSTER', 'predis'/*'redis'*/),
'prefix' => Str::slug(env('APP_NAME'), '_').'_',
'parameters' => ['password' => env('REDIS_PASSWORD', null)],
],
'default' => [
'scheme' => 'unix',
'path' => env('REDIS_HOST'),
'host' => env('REDIS_HOST'),
'password' => env('REDIS_PASSWORD'),
'port' => env('REDIS_PORT'),
'database' => env('REDIS_CACHE_DB', 0)
],
(...) // other
],
当我在评论中更改这些值时,我的网站只显示一个空白页—邮箱中有任何错误。
此外,当我运行例如“php73 artisanconfig:clear在ssh中,console返回
请删除或重命名“app”配置文件中的redis facade别名,以避免与php redis扩展冲突。
当我将config/app.php中的别名从“redis”更改为“redismanager”并重试时,它返回
未捕获错误:在/path/vendor/laravel/framework/src/illuminate/redis/connectors/phpredisconnector中找不到类“redis”。php:70.
发生什么事?如何设置laravel的配置以使用phpredis?也许是我的主机提供商的问题?提前谢谢你的建议。
如果我错过了一些重要的代码,给我一个标志-我会添加它。
1条答案
按热度按时间quhf5bfb1#
默认情况下,phpredis库不会安装在共享宿主环境中,并且默认情况下通常不是php安装的一部分。您必须要求您的主机在共享主机平台中安装这些库。