zoukankan      html  css  js  c++  java
  • php运行redis测试

    在今天将官方的redis教程看完之后,想自己来一个测试。

    按照官方给出的代码:

    1 <?php
    2     //连接本地的 Redis 服务
    3    $redis = new Redis();
    4    $redis->connect('127.0.0.1', 6379);
    5    echo "Connection to server sucessfully";
    6     //查看服务是否运行
    7    echo "Server is running: "+ $redis->ping();
    8 ?>

    执行的时候,报错:

    A non-numeric value encountered

    将$redis->ping()输出的时候,发现返回的是false;

    然后看了一下一些博文以及论坛,发现有人说是php的redis拓展和服务器上面的版本不一致(的确,我的是windows系统,php版本是7所以下载的redis拓展是3.1.6,但是本地安装的redis版本确实2.4.5),咋一看,还真的是一回事。但是上去官方看了一下安装包,发现windows下, 我的这个2.4.5还是最新的。

    折腾一阵子之后,发现不是这个问题。

    然后就将错误的信息输出:

     1 $redis = new Redis();
     2 $redis->connect('127.0.0.1', 6379);
     3 echo "Connection to server sucessfully";
     4 //查看服务是否运行
     5 try{
     6     $info = $redis->ping();
     7     var_dump($info);
     8 }catch (Exception $e){
     9     var_dump($e->getMessage());
    10 }

    发现出错的信息输出为:

    Maximum execution time of 30 seconds exceeded

    再将这个信息细读以及查看一些资料,发现这个可能是链接的时候时间超时:

    参考博文:http://blog.csdn.net/ghostyusheng/article/details/50593565

    采用第二种方法:

     1 $redis = new Redis();
     2 set_time_limit(0);
     3 $redis->connect('127.0.0.1', 6379);
     4 echo "Connection to server sucessfully";
     5 //查看服务是否运行
     6 try{
     7     $info = $redis->ping();
     8     var_dump($info);
     9 }catch (Exception $e){
    10     var_dump($e->getMessage());
    11 }

    发现这个时候的报错为:

     error on connection

    然后再查看一些资料,发现可能是内存的问题:

    参考博文:https://www.cnblogs.com/krainbow/p/4261906.html

    然后关掉本地的redis服务器,重新启动,输出成功!

    PS:以上两篇博文没有在得到博主的允许下引用,如果有异议,希望可以联系本人,本人及时修改。

    谢谢!多多指导!

  • 相关阅读:
    正则表达式入门
    Tyvj 1518 CPU监控——极恶线段树
    数据结构-元组
    洛谷P3195 玩具装箱TOY
    数据结构-列表基本语法
    P2569 股票交易
    列表循环
    P3507 GRA-The Minima Game
    数据结构-集合
    洛谷P1595 信封问题
  • 原文地址:https://www.cnblogs.com/gxkB/p/8335155.html
Copyright © 2011-2022 走看看