环境:
- 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