我正在尝试在Laravel 8.75.0中配置Redis配置文件(用于缓存目的),以使用具有证书颁发机构证书的TLS。目前,我的配置文件看起来像这样(基于这个答案:https://stackoverflow.com/a/48876398/10031033):
'options' => [
'cluster' => env('REDIS_CLUSTER', 'redis'),
'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
'ssl' => ['cafile' => env('REDIS_CACHE_SSL_CA', null), 'verify_peer' => env('REDIS_CACHE_SSL_VerifyCA', false)]
],
'cache' => [
'scheme' => env('REDIS_CACHE_SCHEME', 'tcp'),
'host' => env('REDIS_CACHE_HOST', '127.0.0.1'),
'password' => env('REDIS_CACHE_PASSWORD', null),
'port' => env('REDIS_CACHE_PORT', 6379),
// 'database' => env('REDIS_CACHE_DB', 1),
],
字符串
我确信变量和连接工作正常,因为下面的配置工作得很好。
$vm = array(
'host' => env('REDIS_CACHE_HOST'),
'port' => env('REDIS_CACHE_PORT'),
'timeout' => 0.8,
'scheme' => env('REDIS_CACHE_SCHEME'),
'ssl' => ['cafile' => env('REDIS_CACHE_SSL_CA'), 'verify_peer' => env('REDIS_CACHE_SSL_VerifyCA')],
);
$redis = new Client($vm);
$redis->auth(env('REDIS_CACHE_PASSWORD'));
try {
echo $redis->ping();
} catch (\Exception $e) {
// dd($e);
echo 'not';
}
型
有人知道我哪里做错了吗?我已经试了几个小时了,但似乎不能让它工作。
谢谢你的好意
1条答案
按热度按时间xzlaal3s1#
我正在使用Google Cloud PHP运行时引擎,这是我发现的最好的问题,但它不太起作用。所以我把对我有效的解决方案贴出来:
config/database.php
字符串
最好将所有内容都设置为env变量,但我试图简化它。