为laravel7安装和配置phpredis

roejwanj  于 2021-06-09  发布在  Redis
关注(0)|答案(2)|浏览(487)

配置用于phpredis的laravel 7

前言

在搜索了互联网,试图找出如何正确安装和使用phpredis,正如拉威尔所建议的那样,我找不到一个单一的真相来源或指南,没有给我留下更多的问题而不是答案。
我希望,在社区的帮助下,创造并不断完善这个指南。

本指南的目标

以最正确、最经得起未来考验的方式,为在homestead上安装和配置phpredis for laravel 7提供一个分步指南。
说明在phpredis已经安装/配置之后如何使用redis。

为什么不用predis?

根据laravel 7文档,predis似乎已经被放弃,在laravel的未来版本中,它可能不再受支持。此外,phpredis的性能优于predis。
phpredis与predis:实际生产数据的比较

参考文献

如何在ubuntu上安装phpredisforlaravel
拉雷维尔的phpredis-redis系列第2集
在fresh install homestad php7上安装php redis php7分支
拉威尔7 redis docs

在homestead上新安装的laravel 7上安装/配置phpredis

本指南假设您正在homestead开发环境中使用Laravel7。

安装phpredis包。

1. 去你的家园。

$ vagrant ssh

2. 下载phpredis包。

$ wget https://github.com/phpredis/phpredis/archive/master.zip

下载完成后,您应该可以使用以下命令看到一个名为master.zip的文件 ls .

3. 从master.zip中提取phpredis主文件夹,然后删除master.zip。将提取的文件夹移到/etc/目录。然后导航到提取的phpredis主文件夹。

$ unzip master.zip
$ rm master.zip
$ sudo mv phpredis-master/ /etc/
$ cd /etc/phpredis-master/

4. 为phpredis php扩展准备构建环境。

$ phpize
$ ./configure
$ make && make install

5. 使用vim或您首选的编辑器更新redis.ini文件。

确保用您正在使用的php版本替换7.4。你可以通过运行 php -v . 在我的例子中,它返回php7.4.4。然后我跑了 ls /etc/php/ 列出我的php文件夹并找到/etc/php/7.4/目录。

$ sudo vim /etc/php/7.4/fpm/conf.d/redis.ini

现在应该在vim编辑器中打开该文件。复制下面的行,然后在vim中按i开始插入。然后单击鼠标右键并选择“粘贴”,或按shift+ins进行粘贴。
扩展=/etc/phpredis master/modules/redis.so
添加行后,按esc退出编辑模式,然后按:wq,然后按enter退出。

6. 重新启动服务

确保您位于/etc/phpredis master目录下/
同样,用您正在使用的php版本替换7.4。

$ sudo service php7.4-fpm restart
$ sudo service nginx restart

7. 确保一切正常。

$ sudo nginx -t

如果成功,则应输出以下内容。
nginx:配置文件/etc/nginx/nginx.conf语法正常
nginx:配置文件/etc/nginx/nginx.conf测试成功

配置laravel 7以使用phpredis。

现在应该在服务器上安装phpredis了。我们现在将配置laravel开始使用phpredis。

1. 将redis别名更改为redismanager。

打开config/app.php,然后在别名数组中将redis更改为redismanager

'aliases' => [
    ...
    'RedisManager' => Illuminate\Support\Facades\Redis::class,
    ...
]

您可以将redis重命名为redismanager以外的其他名称,但为了保持一致性,我刚刚遵循了laravel文档中的建议。

测试redis是否正常工作

将以下内容添加到web.php routes文件中,然后导航到应用程序中的路由。

Route::get('/redis', function () {
    $app = RedisManager::connection();
    $app->set('key', 'Testing PhpRedis');
    echo $app->get('key');
});

当导航到yoursite.local/redis时,您应该看到消息“testing phpredis”。

在项目中使用redis

一旦安装了phpredis并更新了laravel配置,现在就可以开始在项目中使用redis了。

在控制器中使用redis

// ExampleController.php
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use RedisManager;

class ExampleController extends Controller
{
    public function index()
    {
        $visits = RedisManager::incr('visits');

        return $visits;
    }
}

常见问题

为什么我们必须将redis别名重命名为redismanager?

同样,既然laravel7默认使用phpredis,为什么我们必须将redis别名重命名为redismanager?

将redis别名重命名为redismanager将如何影响我的应用程序以及我如何使用它?

laravel7说phpredis是默认的,那么为什么我要这么做呢?

我已经成功地让phpredis在本地工作,但是当我在vapor上部署时,它就不工作了。我该怎么办?

如果我不用宅基地怎么办?

待办事项

如果下载phpredis包 $ wget https://github.com/phpredis/phpredis/archive/master.zip 是安装软件包的最佳方式,或者是否有更好的选择,例如可能通过pecl安装。

zpqajqem

zpqajqem1#

如果您使用的是laravel/forge,则不需要安装phpredis,因为它是由forge在服务器配置期间安装的。
你会发现 extension=redis.so 已存在于 sudo nano /etc/php/7.4/fpm/conf.d/20-redis.ini 其余的过程应该与指南类似,但我还没有亲自测试它。我会发回我的调查结果。

ctehm74n

ctehm74n2#

非常好的指南,安装在当地的家园。为了方便我会跑 sudo su 之后 vagrant ssh 这样您就可以以root身份运行所有内容。

相关问题