phpredisadmin common.inc.php,phpRedisAdmin安装

##使用场景,不需要给研发开机器的权限,而研发又能操作redis库!

wget --no-check-certificate

tar zxvf phpredis.tar.gz

cd owlient-phpredis-90ecd17/

/usr/local/webserver/php/bin/phpize

./configure   --with-php-config=/usr/local/webserver/php/bin/php-config

make

make test

make  install

cd /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20100525/

查看是否多出一个redis.so文件!

修改php.ini文件,将该redis.so给加进去

通过php -m命令来查看是否已经有redis模块,如下:

05f1006067a5566facec2f577dd51d99.png

开始我试着下载,解压后,直接作为一个php的项目来运行,结果发现运行报错:

PHP message: PHP Fatal error:  require(): Failed opening required '/data/redisadmin/includes/../vendor/autoload.php' (include_path='.:') in /data/redisadmin/includes/common.inc.php on line 2"

显然缺少文件,于是想着去看文档,文档中的方法如下:

git clone

cd phpRedisAdmin

git clone

发现使用上述的方法是有vendor目录的!

然后将该文件夹复制到/var/www/html目录下,然后在includes目录下复制config.sample.inc.php为config.inc.php,然后修改

$config = array(

'servers' => array(

array(

'name'   => '10.10.11.32 server', // Optional name.

'host'   => '10.10.11.32',  ##需要修改

'port'   => 6379,         ##需要修改

'filter' => '*',

在此根据后台日志的报错解决了两个问题:

1: PHP Fatal error:  Allowed memory size of 268435456 bytes exhausted (tried to allocate 71 bytes) in /var/www/html/index.php on line 17

这个修改下php.ini中的内存分配就可以了

2: [Fri Apr 17 15:42:34 2015] [error] [client 222.92.145.181] PHP Warning:  Unknown: failed to open stream: Permission denied in Unknown on line 0

[Fri Apr 17 15:42:34 2015] [error] [client 222.92.145.181] PHP Fatal error:  Unknown: Failed opening required '/var/www/html/index.php' (include_path='.:/usr/share/pear:/usr/share/php') in Unknown on line 0

这个是selinux的问题,关闭selinux就可以了

3: PHP Fatal error:  Call to undefined function mb_internal_encoding() in /var/www/html/includes/common.inc.php on line 59

解决方法:yum -y install php-mbstring然后重相关服务即可

上面遇到的问题都解决了,接下来更加郁闷的是是后台不报错,web页面一直在那里转,最后在日志里面有输出:

PHP Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/html/index.php on line 17

后来我想到一个测试方法:

[root@localhost liuxiaojie]# cat a.php

$redis = new Redis();

$redis->connect('10.10.11.30',6389);

$redis->set('test','hello world! How are you');

echo $redis->get('test');

?>

结果显示是正常的!

实在想不到解决方法了,很是郁闷,后来无意发现了使用localhost,页面一下就显示出来了,尽管我机器上没有redis,后来哥们给我另外一个redis实例,我在config.inc.php简单修改一下,立刻就显示出来了!

于是猜到是该redis实例的问题,但有陷入了深思,机器的防火墙正常,redis实例通过测试程序能访问,为什么通过却访问失败,后来终于想通了,原来是显示的时候会把data0库里面所有key都给加载出来,该redis实例的keys值太多(大概有几千万),无法一下子加载出来!所以页面就一直在那里转!

##如果一个db中有太多的key(例如:上千万),使用这个工具的时候有问题,页面加载的时间比较久,超时(超过php.ini中设置)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值