最近使用vagrant安装homestead后,运行代码时提示Redis对应的Class不存在。事实上,它缺少相应的PHPRedis扩展。安装过程中遇到了很多坑,在此记录下本文首先通过vagrantssh进入homestead下载&编译PHPRedis扩展gitclonehttps://github.com/phpredis/phpredis.gitcdphpredis/usr/bin/phpize5.6(不同的php版本对应不同的phpize版本)./configure--with-php-config=/usr/bin/php-config5.6(这里还需要根据情况指定php-config的版本,并且要和phpize的版本一致。)make&&makeinstall。{note}编译完成后redisphp扩展在module目录下,其文件名为redis.so*查看PHP的extension_dir,有多种方式:一种是安装目录,安装时会提示扩展安装完成,如下图使用命令php-i|grepextension_dir将redis.so扩展模块移动到PHP扩展目录sudomv./modules/redis.so/usr/lib/php/20131226添加PHP配置文件的ini文件创建文件sudotouch/etc/php/5.6/fpm/conf.d/20-redis.ini使用vi编辑器写入如下内容:extension=redis.so一切正常,重启php-fpmsudoservicephp5.6-fpmrestart并使用phpinfo(),你会发现redis扩展出现了,newRedis()可用了。主要坑是在执行phpize相关命令的时候,没有找到提示。homestead中有php5.6、php7.0、php7.1、php7.2。发生这种情况只是因为我使用php5.6。你需要安装php-dev。使用sudoaptinstallphp-dev时会提示找不到对应的包。执行aptsearchphp-dev是找不到的。通过aptsearchphp5.6-dev地址可以得到对应的包(我无意中执行了aptsearchphp5才知道对应的包名是php5.6-dev)。知道包名后,直接使用sudoaptinstall安装对应的包。参考文章:https://blog。csdn.net/wangshu...最后推荐优客学微信公众号,优客学是一站式课程返现平台,目前支持极客时间、segmentfault、掘金、imooc和网易云课堂课程返现。
