Gam*_*mer 14 php redis laravel
我通过添加laravel安装了redis "predis/predis":"~1.0",
然后为了测试我添加了以下代码:
public function showRedis($id = 1)
{
$user = Redis::get('user:profile:'.$id);
Xdd($user);
}
Run Code Online (Sandbox Code Playgroud)
在app/config/database.php我有:
'redis' => [
'cluster' => false,
'default' => [
'host' => env('REDIS_HOST', 'localhost'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => 0,
],
],
Run Code Online (Sandbox Code Playgroud)
它会引发以下错误: No connection could be made because the target machine actively refused it. [tcp://127.0.0.1:6379]
我virtualhost用于该项目.用Xampp with windows.
首先确保Redis实际上是通过打开powershell并键入来侦听该端口netstat -aon | more(此命令可能需要在功能中启用或以某种方式安装).如果正在侦听,请检查防火墙设置.如果没有监听,请确保Redis已启动并配置为侦听该端口.
它看起来predis/predis只是一个客户端库.请参阅https://packagist.org/packages/predis/predis.
您需要安装Redis服务器,但看起来它在Windows上不受官方支持.见http://redis.io/download.根据该页面上的信息,看起来Redis的Win64端口位于https://github.com/MSOpenTech/redis.
如果在此之后它仍无效,请使用您看到的新错误更新您的问题.
小智 5
M1 上 macbook pro 的解决方案:
替换:
REDIS_HOST=127.0.0.1
Run Code Online (Sandbox Code Playgroud)
和:
REDIS_HOST=host.docker.internal
Run Code Online (Sandbox Code Playgroud)