美文网首页
新版PHP7安装redis扩展并在laravel中运用

新版PHP7安装redis扩展并在laravel中运用

作者: houxin | 来源:发表于2020-04-21 10:11 被阅读0次

    前言

    网上有关安装这个redis扩展文档有很多。多数都是相互借鉴的,里面还提到一定要把redis扩展放在php_igbinary.dll之后才行,否则就没有效果。
    这些大多都是在说老版本php的方法。新版的php7已经智能了很多了,不用这些了,而且,我下载的php7里面根本就没有php_igbinary.dll这扩展。根本就行不通。
    这里着重介绍下php-7.3.6-nts-x64扩展该如何安装。

    下载扩展

    下载地址

    1. 一般新版的php,建议选择比较新的那几个redis,目前我这里列举的redis是5.2.1版本。之后,选择有DownLoads列的windows窗口的那个DLL链接,点击进去。
    2. 进来之后,会看到该扩展适用的几个版本,如下所示。


      image
    3. 查看自己的php方式,选择适合自己的版本。
      使用php运行phpinfo();查看自己的php版本和运行方式。
      image
      我的php版本是7.3.6x64的64位系统,运行方式为NTS,也就是非线程安全版。因此,在这里,我选择7.3 Non Thread Safe (NTS) x64
      image
      然后,点击就下载到了dll的压缩包,解压,就看到需要的dll扩展库。

    安装并使用

    1. 只需要将上面解压得到的php_redis.dll,放入php根目录的ext目录中即可。

      很多教程上说php_redis.pdb也要放进去,我亲自尝试了,不用放能用正常使用,也不知道这个pdb有啥用,欢迎知道的小伙伴留言告诉我。

    2. 然后,打开php.ini,加入如下代码就行了,建议和之前的插件放在同一个位置,易于维护。
      extension=redis
      

      不用写全称的,只需要写插件名称redis就行了,php会按照统一格式发现redi插件的。当然,你非要写全程extension=php_redis.dll,也是可以的。你看看其他的插件,其他的插件都是插件名,到你这就是全称,有点格格不入的感觉。

    3. 之后,再次使用php连接redis就可以看到成功了。

    redis在laravel的使用

    上一步骤,我们已经安装成功的话,可以在laravel中直接使用。

    use Illuminate\Support\Facades\Redis;
    
    // 测试页面首页
    public function index(){
        // 测试redis
        Redis::set('name', 'Taylor');
        $user = Redis::get('name');
        dd($user);
    }
    

    如果上面的代码你的网站能成功执行,并打印出name的话。那么就代表你的redis已经在成功运行了。
    然后,cache缓存和session都可以使用redis代替了。要求也很简单,修改.env文件cache和session的引擎都修改为redis就行了。

    BROADCAST_DRIVER=log
    CACHE_DRIVER=redis
    QUEUE_CONNECTION=sync
    SESSION_DRIVER=redis
    SESSION_LIFETIME=120
    

    CACHE_DRIVER: 就是缓存引擎
    SESSION_DRIVER:就是session引擎

    提示:这里明确说明,不建议使用predis/predis,它的诞生就是为了弥补redis扩展的。
    而且,Predis 已被该软件包的原始作者遗弃,并可能在将来的版本中从 Laravel 中删除。

    附录截图

    未安装redis扩展,laravel强行使用redis报错如下:


    image

    安装redis成功后的 ,再次使用redis效果:


    image

    相关文章

      网友评论

          本文标题:新版PHP7安装redis扩展并在laravel中运用

          本文链接:https://www.haomeiwen.com/subject/qmwyihtx.html