如何给PHP安装redis拓展并启用,多图详细步骤讲解

2023年4月7日技巧分享260,772字数 1306阅读4分21秒阅读模式

如何给PHP安装redis拓展,说实话,网上教程不少,可是看了半天,也没完全看明白。

折腾了半天,走了不少弯路,终于算是成功装上了。

所以特意详细记录下过程,多图讲解,希望能给讲明白了。

1.

首先通过phpinfo,找到自己的php文件夹:

Ethan_2023-04-07_19-31-59

2.

然后通过cd命令走到自己bin文件夹下,比如我的:

/Applications/MAMP/bin/php/php8.2.0/bin

在这里你可以看到phpizephp-config,这两个文件是我们待会要用到的。

(这两步只是为了简化操作,并不一定完全要做!在这个文件夹下操作,可以少输入不少路径,不容易搞错。)

Ethan_2023-04-07_19-30-27

3.

下载phpredis插件。

我这里直接克隆官方仓库的,使用命令:

git clone https://github.com/phpredis/phpredis.git

下载后,我们进入phpredis文件夹:

cd phpredis

如图:

Ethan_2023-04-07_19-36-24

4.

执行phpize。

使用命令:../phpize

(如果头2步没有和我一样,这里需要根据自己的phpize路径来填写)

这一步很重要,是PHP准备编译环境。如果出现无法找到“autoconf”的错误,可以看文末先解决报错。

Ethan_2023-04-07_19-38-59

5.

执行php-config。

使用命令:./configure --with-php-config=../php-config

(如果头2步没有和我一样,这里需要根据自己的php-config路径来修改)

Ethan_2023-04-07_19-41-22

6.

编译安装。

使用命令:sudo make && sudo make install

Ethan_2023-04-07_19-43-02

7.

编译完成后,可以选择删掉安装包。

使用命令:cd ../ && rm -rf phpredis

Ethan_2023-04-07_19-44-45

8.

修改php的配置文件。

配置文件在bin文件夹上一层,conf文件夹下,名字为php.in

你如果按照我说的步骤做的话,此时应该输入命令:sudo vim ../conf/php.ini

(看图吧,我已经尽力画清楚了)

Ethan_2023-04-07_19-49-15

在配置文件中,加上redis拓展,命令为:extension=redis.so

Ethan_2023-04-07_19-22-21

然后保存退出。

退出后重启下php。

9.

测试成功。

再看下phpinfo的信息,搜索redis关键词,可以看到redis拓展名就表示安装拓展成功了。

Ethan_2023-04-07_19-20-02

代码中可以测试下,设置redis键和值,然后用get获取下。

Ethan_2023-04-07_19-24-09

请求下接口,已经可以看到成功返回的测试数据了:

Ethan_2023-04-07_19-24-51

Enjoy!

有问题可以留言,我会尽力解答。

 

[补充:2023-12-04]

如何解决无法找到autoconf的错误?

执行phpize时,出现报错信息,无法找到autoconf

Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.

解决办法就是安装autoconf即可。

最简单的办法是用brew安装:

brew install autoconf

其它系统可以参考这个:

For CentOS:

yum install autoconf

for Ubuntu :

apt-get install autoconf

for fedora 24-27:

dnf install autoconf

PHP如何生成有效的日志log文件 网页后端

PHP如何生成有效的日志log文件

本文是非常有用的一篇文章,特意转载翻译 为什么我们需要日志系统 犯错是很常见的。 不仅是开发人员,在用户使用过程中也是如此。 如果在开发过程中我们完全可以控制了代码的运行过程,并且可以通过简单的deb...
Ajax为什么无法接受php return值? 网页后端

Ajax为什么无法接受php return值?

最近在完成一个面试题,要求前后端必须使用json数据传递。 后端PHP往前端传数据正常情况下都是使用return返回,然后前端请求URL获取返回值实现。 但由于我不太会前端,前端只好用Ajax去后端拿...
评论  2  访客  0  作者  2
    • 小笔
      小笔

      如果安装失败,请选择使用brew安装,别太折腾自己(2023.12.04)

      • 小笔
        小笔

        官方安装教程: https://github.com/phpredis/phpredis/blob/develop/INSTALL.md

      匿名

      发表评论

      匿名网友

      :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

      确定