今天配置服务器的时候发现本来能运行的代码出bug了,laravel日志文件报错Non-static method Redis::hSet() cannot be called statically。
google了一下这个问题,大多数人的解决方法是use Redis改为use Illuminate\Support\Facades\Redis。
这种方法虽然能解决问题,但一改一大堆,不是个好的解决办法。细研究一阵后发现可能是PHP自带了redis拓展和predis冲突了,但是在php.ini配置文件中没有找到redis的相关信息,最后在/etc/php.d/redis.ini和php-zts.d/redis.ini中找到了:
; Enable redis extension module
extension = redis.so
; phpredis can be used to store PHP sessions.
; To do this, uncomment and configure below
;session.save_handler = redis
;session.save_path = "tcp://host1:6379?weight=1, tcp://host2:6379?weight=2&timeout=2.5, tcp://host3:6379?weight=2"
供参考