Redis官网不建议在windows使用Redis,但是对于使用Windows系统做日常开发的我来说,非常需要。以下是安装和使用过程,以及途中遇到的问题
一、问题
调试tp5项目时遇到这个错误
搜索了一番,跟着网上的教程修改了php.ini的save_path,重启服务器,依然无效。突然想起window本地没有安装redis,之前的安装配置使用都基于Linux。于是先搞好本地开发环境吧。
二、下载windows redis
- 下载地址:github.com/MicrosoftAr…
- redis-server.exe 启动服务
- 打开redis-cli.exe ,ping一下看通不通
三、安装redis扩展
-
phpinfo()查看PHP配置情况
-
安装windows redis。根据phpinfo的Compiler、Architecture、Zend Extension Build的值来寻找适合的版本: 下载redis:windows.php.net/downloads/p…
下载igbinary:windows.php.net/downloads/p… -
解压后,把php_redis.dll、php_redis.pdb、php_igbinary.dll、php_igbinary.pdb复制粘贴到php的ext目录下
-
修改php.ini文件:
; php_redis
extension=php_igbinary.dll
extension=php_redis.dll
- 重启服务器,查看是否有redis的配置信息。有就证明OK啦。
四、使用reids
接下来就是在PHP脚本中使用redis啦。在我的脚本中,运行到new Redis();这一步提示‘Class Redis not found’,原因是我没有把文件放在服务器根目录(htdocs)下运行,直接在vscode运行了。
最后,问题解决了,进入项目业务调试。
五、后记
第四点中提到运行脚本时,到了new Redis(),提示class Redis not found的原因,跟脚本放不放htdocs无关,跟当前的php有关。因为我的电脑装了两个php版本,查看系统环境变量,一个在c盘,一个在d盘的wamp下。vscode中的setting中,我配置的php执行路径是D盘中的那个,安装redis拓展也是放在D盘的PHP下,所以总的来说c盘的php没有配置拓展,所以运行的时候出现class redis not found!同样的,如果我把拓展放在C盘下的PHP下,在vscode中直接运行脚本也不会错;或者我把vscode的setting的php执行路径改成C盘的PHP,也不会出现class redis not found。难怪之前cmd命令行php -v输出是7.4,phpinfo()输出7.0,因为电脑同时装了两个版本的PHP。