0

环境:

  • CentOS 6.5
  • php5.5.3 / php-fpm5.5.3
  • nginx 1.0.15
  • php-redis 2.2.8

还在 php.ini 中添加了 extension_dir 和扩展设置

然后重启php-fpm & nginx的服务

我已经确认 redis 已在 phpinfo() 中启用/加载

步:

我正在尝试像这样运行 php 脚本

<?php
$redis = new Redis();
?>

得到错误:

PHP Fatal error:  Call to undefined function  new Redis() in /home/html/test1.php on line 2

但是当我尝试在 php Interactive shell 模式下运行相同的命令时,它运行良好。

为什么?

更新:

我已经测试了这样的脚本:

print_r(get_loaded_extensions());

然后我已经加载了扩展redis

if(class_exists('Redis')){
 echo 'Redis loaded';
 $redis = new Redis();
 }else{
 echo 'not function Redis';
 }

它显示类 Redis 存在但仍然出现错误

[root@i1 html]# php -f test1.php
 Redis loadedPHP Fatal error: Call to undefined function  new Redis() in /home/html/test1.php on line 16

添加dl("redis.so");和输出:

PHP Warning:  Module 'redis' already loaded in Unknown on line 0
Redis loadedPHP Fatal error:  Call to undefined function  new Redis() in /home/html/test1.php on line 18
4

1 回答 1

0

最后,我无法配置使用 phpredis 插件。

在这种情况下,predis 是更好的选择。

于 2016-09-15T11:02:15.087 回答