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

谢谢!多多指导!

原文地址:https://www.cnblogs.com/gxkB/p/8335155.html