Workerman 下无法使用Redis,提示没有这个类

ty371361218

我是在服务器上装的redis,普通网站上执行完全没有问题,但是在Workerman上就提示:Fatal error: Uncaught Error: Class 'Redis' not found in 所有关于redis的地方全部报错

更奇怪的是,我在我本地windows上测试是正常的,就是在liux上就出现这个问题了。因为我这个项目运营一年多了,现在是准备加入Workerman的新功能玩法,那知道本地测试的完全没问题,一传到服务器上就这问题了

1295 2 1
2个回答

2548a

配置文件不一样,宝塔给cli用了单独配置文件,进入对应php版本的etc文件夹就可以看的到了

  • ty371361218 2022-09-20

    那个php.ini 文件里存在redis的模块,就是在Workerman执行的时候报错,说没有redis类,明明是有的,但是php -m 没有,但是正常执行redis没问题
    [redis]
    extension = /www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718/redis.so

  • 2548a 2022-09-20

    说了配置文件不一样,肯定是php-cli.ini 才是cli的配置文件呀,不是php.ini,那个是fpm模式的

  • ty371361218 2022-09-20

    我就是在/www/server/php/72/etc下没有找到php-cli.in文件,不知道为什么没有这个文件

  • 2548a 2022-09-20

    不应该呀,我的宝塔上就有

  • ty371361218 2022-09-20

    解决了,需要在网站那里点一下“”php命令行版本“”,才有这个文件,感谢了

  • FlyLow 2023-03-31

    php命令行版本这个在哪里呢

keytehu

1、php-fpm 和 php-cli是两个东西,网页显示装了redis扩展只能说明php-fpm装了redis扩展,不代表php-cli也装了redis扩展
2、php-fpm和php-cli可能使用了不同的php.ini文件,php-cli使用了哪个php文件执行命令 php --ini 查看
3、系统可能装了多个php版本,有可能redis扩展装到另外一个php版本去了,执行 php -v 查看php-cli的php版本

  • 2548a 2022-09-20

    我还真不知道php --ini 可以查看配置文件,因为我就没试过找不到配置文件的情况的,哈哈

  • ty371361218 2022-09-20

    解决了,需要在网站那里点一下“”php命令行版本“”,才有这个文件,感谢了,已经正常了

  • salestina 2022-09-22

    对,宝塔里在网站栏目,点击PHP命令行版本按钮 选择站点使用的php版本,指定下命令行版本就行了

年代过于久远,无法发表回答
🔝