前言

今天写个demo,用到了Redis,但是报错了Class ‘Redis’ not found ...,使用的是Homestead环境,php没有装redis扩展…

phpredis

vagrant ssh中操作,要sudo权限,不然会报错.

1
2
3
4
5
6
7
$ git clone https://github.com/phpredis/phpredis.git
$ cd phpredis
//phpize版本要和php版本一致,我这里使用7.2版本.
$ /usr/bin/phpize7.2
$ ./configure --with-php-config=/usr/bin/php-config7.2
//这里边也需要根据情况指定php-config的版本,且和phpize的版本保持一致.
$ make && make install

编译完成会有显示一个扩展所在目录,如果没有的话,就执行.

1
2
3
$ php -i|grep extension_dir
//返回
extension_dir => /usr/lib/php/201***** => /usr/lib/php/201*****

redis.so在modules目录中,把扩展移动到扩展所在目录.

1
sudo mv ./modules/redis.so /usr/lib/php/201*****

这些步骤都在phpredis目录操作.

以上完成后,把扩展配置添加到php的配置文件.

1
2
3
4
sudo touch /etc/php/7.2/fpm/conf.d/20-redis.ini
//vim编辑20-redis.ini
//写入 extension=redis.so
//:wq 保存

重启php-fpm.

1
sudo systemctl restart php7.2-fpm.service

ok!一切完成,操作正常完成的话,phpinfo()应该就能看到了.

End.