更多>>PHP程序设计 Blog

Windows 环境下为 PHP 安装 redis 扩展的详细操作步骤及使用实例

本文详细介绍了如何根据 php 版本选择合适的 redis 扩展及官方下载地址,以及在配置使用的过程中出现了 Fatal error 致命错误的解决方法。

一、查看 php 版本相关信息

通过 phpinfo() 函数查看 php 版本相关信息,此操作是用来决定选择 redis 哪个扩展版本。

<?php
phpinfo();


找到如下2个参数:

参数:Architecture  值:x86

参数:PHP Extension Build  值:API20170718,NTS,VC15

如图所示:

101.png

102.png


二、下载 php 的 redis 扩展

进入 PHP 官方扩展页面,下载合适的 redis 扩展

1、PHP 官方扩展地址:http://pecl.php.net/

2、在页面右上角 Search for 搜索框中输入 redis 回车搜索

3、在搜索结果列表 Search results 中

对应的地址如下:http://pecl.php.net/package-search.php?pkg_name=redis

点击 redis 进入扩展详细页

4、会看到如下字样的版本号,即:alpha, beta, stable

stable 稳定版本,最终发行版本

beta 公开测试版本,alpha 版本的升级版

alpha 内部测试版本

对应的地址如下:http://pecl.php.net/package/redis

这里我们选择最新版的稳定版本,即:5.3.2 stable 2020-10-22 发布的,点击 DLL 进入下载页

003.png

5、根据第一步中提供的参数,这里我们选择 (NTS) x86 版本的扩展

对应的地址如下:http://pecl.php.net/package/redis/5.3.2/windows

如,点击:7.2 Non Thread Safe (NTS) x86 即可下载

004.png

6、在下载下来的压缩包中,会发现有一个文件:php_redis.dll

把此文件复制到 PHP 的 ext 目录下

005.png


三、修改 php.ini 配置文件,并重启服务器

1、修改 php.ini 文件,把 php_redis.dll 文件加入到 php 的配置中,如下:

extension=php_redis.dll

006.png

2、重启服务器,使新添加的 redis 扩展生效

3、再次回到 phpinfo() 页面查看,会发现 php 的 redis 扩展已经安装上了

007.png


特别说明,网络上很多的文章,讲到这里,就结束了,但是当你实际使用的时候,却根本运行不了。


代码如下:

<?php
session_start();
header("Content-Type:text/html; charset=utf-8");
date_default_timezone_set('PRC');

$redis = new Redis();
$redis -> connect("127.0.0.1", 6379);
$redis -> set("test", "this is test", 10);
echo $redis -> get("test");
$arr = $redis->keys('*');
echo '<pre>';
print_r($arr);


会报如下致命错误:

008.png

究其原因,是因为在 Windows 环境下,没有安装 redis 服务端导致的。

也就是接下来的第四步操作。


四、安装 redis 服务端

1、下载地址如下:

https://github.com/microsoftarchive/redis/releases

点开 Assets,选择 Redis-x64-3.2.100.zip 进行下载

107.png

2、下载下来后,解开压缩包,目录如下:

108.png

3、双击 redis-server.exe 则服务端 redis 就运行了,效果如下:

109.png

需要注意的是,此窗口不能关闭,一旦关闭就会出现第三步的致命错误。

4、此时再次运行 php 代码,发现已经成功执行了。

110.png


五、设置 Windows 下 redis 开机自启动

为了解决第四步操作出现的 redis 服务端窗口不能关闭的情况,下面把 redis 服务设置成开机自启动。

1、找到 redis 服务端安装包的存放位置

比如本例中的存放位置为:D:/soft/Redis-x64-3.2.100

2、利用 cmd 命令打开命令行窗口,并进入 D:/soft/Redis-x64-3.2.100

即:D:\soft\Redis-x64-3.2.100>

执行如下代码:

redis-server --service-install redis.windows-service.conf --loglevel verbose

即:D:\soft\Redis-x64-3.2.100>redis-server --service-install redis.windows-service.conf --loglevel verbose

3、查看 redis 的启动状态

桌面 - 计算机 - 管理 - 服务和应用程序 - 服务

可以看到服务列表中已经出现 Redis 服务了,如果 Redis 的状态不是“已启动”,需要启动此服务。

013.png

4、此时把第四步中的服务端窗口关闭,再次执行 php 代码,发现可以成功执行,说明 redis 服务端自启动添加成功。


评论列表

暂时没有相关记录

发表评论

用来接收审核回复提醒,请认真填写

  换一张?
captcha
看不清?点击图片换一张